首页 > 解决方案 > 将标题变成行

问题描述

我正在下载一份报告,其中有多个“标题”行按数据行分隔。我想在 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

标签: pandaspivotreporting

解决方案


如果没有熊猫,我会这样做:

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.


推荐阅读