读取Pandas中多个csv文件的递归方法

时间:2014-07-11 13:43:10

标签: csv pandas

我想将每个文件映射到其唯一的数据框。类似的东西:

df1 = pd.read_csv(file1, ...)
df2 = pd.read_csv(file2, ...)
...
dfn = pd.read_csv(filen, ...)

为此我做了以下事情:

files = glob.glob("*.csv")
for i in range(len(files)):
    df_i = pd.read_csv(files[i],...)

我没有错误。但是,我无法访问任何数据帧。当我输入df_1时,我得到"未定义"。发生了什么事?

1 个答案:

答案 0 :(得分:1)

您正在做的是一遍又一遍地将ds_i分配给新的DataFrame。

可能的解决方案是创建DataFrames列表:

for i in range(len(files)):
    dfList = list(pd.read_csv(files[i],...))

更好的解决方案是使用列表理解:

dfList = [pd.read_csv(files[i]) for i in range(len(files))]

更好的解决方案是放弃范围:

dfList = [pd.read_csv(file) for file in files]