函数 select 一系列具有不同数字扩展名的数据文件

Function to select a range of data files with different number extensions

我有一个文件夹,其中包含具有不同数字扩展名的文件名。例如:

run1_101.txt
run2_103.txt
exp4_104.txt
sulphur1_105.txt

每次执行不同的实验时,此文件夹都会更新为新文件。

我需要从每个 txt 文件中提取 1 列(峰面积)。问题是,我有大约 100 个文件需要执行此操作,并且某些文件可能具有不同的名称(name_101 等)。

我想编写一个函数,将 select 文件夹中的文件控制在我指定的范围内。例如。 :

def select_file(a,b, file_name):
    file_range = np.arange(a,b)
    if file_range in file_name:
        return file_name

然后我想为每个文件编写一些其他函数到 select 我想要的列,并使用 pandas 将它写入 DataFrame。

您可以使用 glob 库来匹配文件名模式:https://docs.python.org/2/library/glob.html

即:

    list = []    
    for filelist in [glob.glob(pattern) for pattern in ['*%i*' % x for x in range(a,b+1)] if glob.glob(pattern)]: 
        list += filelist

这样您就可以搜索指定范围内的所有模式,在当前目录中搜索。