我想从目录中迭代文件,提取一些信息并使用 Pandas 将其写入 Excel 工作表。我有这段代码,但只有在我遍历一个文件(没有循环)时才有效,当我使用循环并尝试迭代所有文件时,输出是一个空的 Excel 工作表。
import re
import os
import pandas as pd
files=[i for i in os.listdir("path") if i.endswith("txt")]
for file in files:
f=open((file), 'r')
data=f.read()
a=re.findall(r'Company Name(.*?)Type',data,re.DOTALL)
a1="".join(a).replace('\n',' ')
b=re.findall(r'Sector(.*?)Sub Sector',data,re.DOTALL)
b1="".join(b).replace('\n',' ')
w={'Company Name': [a1], 'Sector': [b1]}
df=pd.DataFrame(data=w)
print (os.path.join(file))
df.to_excel(r'/Users/nameuser/info.xlsx')
我看到它遍历所有文件,但这样输出为空。
我该怎么做才能使我从每个文件中获取的所有信息都累积起来并存储到 Excel 文件的新行中?
import re
import os
import pandas as pd
files=[i for i in os.listdir("path") if i.endswith("txt")]
w={'Company Name': [], 'Sector': []}
for file in files:
f=open((file), 'r')
data=f.read()
a=re.findall(r'Company Name(.*?)Type',data,re.DOTALL)
a1="".join(a).replace('\n',' ')
b=re.findall(r'Sector(.*?)Sub Sector',data,re.DOTALL)
b1="".join(b).replace('\n',' ')
w['Company Name'].append(a1)
w['Sector'].append(b1)
print (os.path.join(file))
df=pd.DataFrame(data=w)
df.to_excel(r'/Users/nameuser/info.xlsx')
通过这种方式,您可以将所有数据填充为 dict,然后将其转换为 DataFrame。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句