将多个以字符串开头的csv文件读取为python

时间:2019-07-11 13:36:35

标签: python pandas csv

我有大约500个以字母'T'开头的'.csv'文件,例如“ T50,T51,T52 ..... T550”,文件夹中还有其他随机名称的“ .csv”文件。我想读取所有以“ T”开头的csv文件,并将它们存储在单独的数据帧中:“ t50,t51,t52 ...等”。

我编写的代码只是将这些文件读入数据框

import glob
import pandas as pd

for file in glob.glob("T*.csv"):
    print (file)

我想为每个数据框使用不同的名称-最好是它们自己的文件名。如何在“ for循环”中实现这一目标?

2 个答案:

答案 0 :(得分:2)

除了ABotros的答案之外,要读取不同数据框中的所有文件,我建议将文件添加到字典中,这将使您可以在循环中保存具有不同名称的数据框:

filelist = [file for file in os.listdir(folder) if file.startswith('T')]

database = {}
for file in filelist:
    database[file] = pd.read_csv(file)

答案 1 :(得分:1)

完全同意@Comos
但是,如果您仍然需要单独的变量名,则可以改用here的解决方案!

import pandas as pd
import os

folder = '/path/to/my/inputfolder'

filelist = [file for file in os.listdir(folder) if file.startswith('T')]
for file in filelist:
    exec("%s = pd.read_csv('%s')" % (file.split('.')[0], os.path.join(folder,file)))