Превратить заголовки в строки

#pandas #pivot #reporting

#pandas #поворот #отчетность

Вопрос:

Я работаю с загрузкой отчета, в котором есть несколько строк «заголовка», разделенных строками данных. Я хочу создать новый столбец в pandas DF, который назначит заголовок в качестве переменной для каждой строки. В основном мне интересно, как назвать проблему такого типа; кажется, это довольно распространенное явление при работе с отчетами, предназначенными для чтения людьми.

т.е. оригинал

 ------Header 1------
data row 1.1
data row 1.2
data row 1.3
------Header 2-------
data row 2.1
data row 2.2
data row 2.3 

converted
header 1, data row 1.1
header 1, data row 1.2
header 1, data row 1.3
header 2, data row 2.1
header 2, data row 2.2
header 2, data row 2.3
  

Ответ №1:

Я бы сделал это без pandas, подобных этому:

 f1 = open("test.txt", "r")

counter = 0
converted = []

for line in f1.readlines():
    if("Header" in line):
        counter =1
    else:
        converted.append("header " str(counter) ", " line)
f1.close()
        
f2 = open('test_converted.txt', 'w') 
f2.writelines(converted) 
f2.close() 
  

Где находятся ваши исходные данные test.txt , а преобразованные результаты сохраняются test_converted.txt .

Комментарии:

1. Привет @steve если этот или любой другой ответ решил ваш вопрос, пожалуйста, подумайте о том, чтобы принять его , установив флажок. Это указывает более широкому сообществу, что вы нашли решение, и дает некоторую репутацию как ответчику, так и вам самим. Нет никаких обязательств делать это.