Python:读取多个CSV文件,并将每个文件分配给不同的变量

时间:2018-12-10 15:32:28

标签: python loops csv

我想读取路径中的所有CSV文件,并将每个CSV文件分配给我的python代码中的其他变量名称。
例如,

dshfd9438dks.csv
ansjewi38Ekd.csv

将变成:

df1 and df2

我现在拥有的代码是:

for f in glob.iglob('*.csv'): 
df = pd.read_csv(f, low_memory=False)

我将如何操作它以将数字添加到df变量?

2 个答案:

答案 0 :(得分:3)

为可变数量的变量使用字典

显式命名链接变量是不明智的做法。在这种情况下,您可以将字典与enumerate一起使用:

dfs = {}
for idx, f in enumerate(glob.iglob('*.csv'), 1):
    dfs[idx] = pd.read_csv(f, low_memory=False)

如果您愿意,可以将其转换为字典理解:

files = enumerate(glob.iglob('*.csv'), 1)
dfs = {idx: pd.read_csv(f, low_memory=False) for idx, f in files}

然后通过dfs[1]dfs[2]等访问数据框。

答案 1 :(得分:1)

为什么不将它们放入字典中?

dfs = dict(("df{}".format(i), pd.read_csv(f)) for i,f in enumerate(glob.iglob('*.csv')))