我试图解决以下问题,但我无法让它发挥作用。我的问题如下:
我有一个长文本文件900多个页面,我想从中提取某个表格。缺点是文件不是全部采用相同的格式。例如,我想提取"产品销售" (见文件)。表格的上方和下方是文本文件的完全不同的布局。有人请帮助,提前谢谢!我能够做到这一点,但无法从中创建一个合适的表(即pandas df)。
f = open("test.txt", "r")
searchlines = f.readlines()
searchlines = [x.strip() for x in searchlines]
f.close()
index = []
for i, line in enumerate(searchlines):
if "Product Sales" in line:
index.append(i)
df = searchlines[index[0]:index[1]]
答案 0 :(得分:0)
awk可以帮助您确定何时在桌子上。
尝试awk '$1=="Product"&&$2=="Sales"{print "table start"}{print NF, $0}' myfile.txt > output.txt
,你会发现你能够检测到表的开头,然后是表格行 - 单元格是$ 1 .. $ 10 - 然后是表格结尾 - 两个空行。
如果需要,您可以继续处理并提出问题。