从多个文本苍蝇中提取,附加结果

时间:2019-06-27 18:46:42

标签: python function append extract glob

我编写了一个使用正则表达式从文本文件中提取的函数。该函数返回每个变量。我有很多文件,并且想要遍历文件并追加结果。每个变量都是一个列表。我将结合这些来创建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

该功能有效,但仅适用于当前读取的一个文件。

1 个答案:

答案 0 :(得分:1)

只需遍历使用函数生成的文件列表即可。另外,传递customeramount也没有意义。它们只是在您的find函数的运行时创建,并在返回后仍然存在。

您可以使用pathlib.Path的{​​{1}}方法。 去吧:

glob