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
解决方案
如果没有熊猫,我会这样做:
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
.