函数 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
这样您就可以搜索指定范围内的所有模式,在当前目录中搜索。
我有一个文件夹,其中包含具有不同数字扩展名的文件名。例如:
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
这样您就可以搜索指定范围内的所有模式,在当前目录中搜索。