查找单词并从大文本文件中提取表格

时间:2017-05-10 09:17:26

标签: python text-files

我试图解决以下问题,但我无法让它发挥作用。我的问题如下:

我有一个长文本文件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]]

http://www.filedropper.com/stackfile

1 个答案:

答案 0 :(得分:0)

awk可以帮助您确定何时在桌子上。

尝试awk '$1=="Product"&&$2=="Sales"{print "table start"}{print NF, $0}' myfile.txt > output.txt,你会发现你能够检测到表的开头,然后是表格行 - 单元格是$ 1 .. $ 10 - 然后是表格结尾 - 两个空行。

如果需要,您可以继续处理并提出问题。