我已经找了一段时间了,我想我可能把这个街区建错了,但我希望有一个简单的解决方案。我需要分解一个清单,我能想到的每一个解决方案都失败了(知识有限)。我的代码是为查找文本中的特定单词而构建的,并提取文本所在的部分,我还添加了文本所在的文件名。然而,这一切都是同一个列表!
for filename in os.scandir(directory):
if filename.path.endswith(".txt"):
f = open(filename, encoding = 'utf-8')
lines = f.readlines()
for line in lines:
if pattern.search(line) != None:
list.append((filename.name, line.rstrip('\n')))
continue
else:
continue当它打印出来时,它看起来像:
('AEE_0000018654_10Q_20200331_Item1A_excerpt.txt',‘在2019年,阿梅伦密苏里州签订了一项建设转让协议,在建设之后,收购了一座高达300兆瓦的风力发电设施。2018年,阿梅伦密苏里公司签订了一项建设转让协议,在建设完毕后,将收购一座高达400兆瓦的风力发电设施。除非美国国税局修改了相关法规,或者国会颁布了适用的立法,包括延长2020年12月31日的服役日期标准(如果这些设施的任何部分已经完工),否则('AEE_0000018654_10Q_20200331_Item2_excerpt.txt',‘安-400兆瓦风力发电设施。这两项协议受习惯合同条款和条件的制约。这两次建设转移收购总共代表了12亿美元的资本支出,并将支持阿梅伦密苏里州遵守密苏里可再生能源标准。阿梅伦密苏里州和开发商继续监测对每个项目时间表的影响。到目前为止,两家开发商都没有向阿梅伦密苏里州报告说,这些项目不会在2020年完工。密苏里州的阿梅伦预计,这个高达400兆瓦的项目将在2020年年底投入使用。然而,目前,由于制造业、航运和其他供应链问题,并根据阿梅伦·密苏里与开发商的讨论,阿梅伦·密苏里预计,该项目的一部分将在2021年第一季度投入使用,投资约为1亿美元。
那么,我是否可以将它分开,以便文件名在一个单独的列表中?我想用-
import pandas
df = pandas.DataFrame(data={"col1": filename, "col2": list})
df.to_csv("./SECParse.csv", sep=',',index=False)但到目前为止,我还无法打破我创建的这个列表。
有什么帮助吗?
发布于 2020-09-01 03:16:36
因为您已经在表单(filename,text)中有了一个元组列表,所以我认为您可以直接调用
pd.DataFrame(ls,columns=['filename','text'])其中ls是从for循环中生成的列表。
输出应该如下所示:
filename text
0 AEE_0000018654_10Q_20200331_Item1A_excerpt.txt In 2019, Ameren Missouri entered into a build-...
1 AEE_0000018654_10Q_20200331_Item2_excerpt.txt an up-to 400-megawatt wind generation facility...https://stackoverflow.com/questions/63680768
复制相似问题