我编写了一个使用正则表达式从文本文件中提取的函数。该函数返回每个变量。我有很多文件,并且想要遍历文件并追加结果。每个变量都是一个列表。我将结合这些来创建DF。这也有效。
我知道这里有问题,但是执行起来很麻烦。我过去曾将其用于目录/文件列表。我一直在搜索/阅读很多东西,但显然缺少明显的东西。
我编写了该函数,并在之前使用glob列出了文件名。我知道list.append,但不确定如何与glob(或类似文件)结合。
如何遍历文件,调用此函数并在每次迭代后附加结果?
TEXT:
A bunch of sentences
CUSTOMER: 78787
amount (500 dollars)
A bunch of sentences
代码
def find(customer, amount):
with open(r"file.txt",'r') as myfile:
text = myfile.read()
customer = re.findall(r"^CUSTOMER:[\s](.*)\d+", text)
amount = re.findall(r'\((.*?)\)', text)
return customer, amount
该功能有效,但仅适用于当前读取的一个文件。
答案 0 :(得分:1)
只需遍历使用函数生成的文件列表即可。另外,传递customer
或amount
也没有意义。它们只是在您的find
函数的运行时创建,并在返回后仍然存在。
您可以使用pathlib.Path
的{{1}}方法。
去吧:
glob