如何保存在函数中操作的文件的名称?

时间:2019-07-03 19:54:16

标签: python pandas function dataframe

我有一个python函数,可对文件夹中的每个文本文件执行操作。我想保存每个要操作的文件的名称,以便该函数返回文件名以及其他结果。

我尝试了如下所示的各种方法。

这将获取所有文件名,但会获取每次迭代中的所有文件,而不是要操作的单个文件。

import re, glob, os, pandas as pd
from pathlib import Path

def sections(file_name):    


    with open(file_name,'r') as f:  
        text = f.read()

        doc = textacy.preprocess.normalize_whitespace(text)
        votes = re.findall(r"Voting[\s*]\D+.+", doc)
        provisions = re.findall(r"Provisions+([\s\S]*?)(?=authorized)", doc)
        name = os.path.splitext(file_name)[0]        

        return name, board, votes, provisions


file_dir = Path(r"path")  
all_files = file_dir.glob("*.txt")  
results = [sections(f) for f in all_files]

print(results)

这有效,但是在功能上不起作用,从功能中获取要比结合结果更好。

files = [f for f in glob.glob(path + "**/*.txt", recursive=True)]

files = pd.DataFrame(files)
files.columns = ['file_name']
files['file_name'] = files['file_name'].replace(r'.*(?=\\).','', regex=True) 

当函数返回时,我希望文件名包含在其他变量中。

0 个答案:

没有答案