Pandas read_csv多个文件

时间:2016-04-18 21:14:38

标签: python pandas

循环浏览一堆文件并为每个文件创建单独的数据框的最佳方法是什么?我已经查看了其他问题,但似乎每一个问题都是将文件连接成一个数据框。

例如,如果我有mylist = [' a.csv',' b.csv',' c.csv'],我想要每个我的数据框取名为文件名(a,b,c),我不能这样做,因为赋值语句的左侧被视为字符串。如何更正此问题以便将其解释为数据帧分配?

mylist = ['a.csv','b.csv','c.csv']
import pandas as pd
for file in mylist:
    file.rsplit('.csv',1)[0] = pd.read_csv(file)

3 个答案:

答案 0 :(得分:4)

使用词典理解:

dfs = {f.rsplit('.csv',1)[0]: pd.read_csv(file)
       for f in mylist}

答案 1 :(得分:2)

使用公式命名变量通常被认为是不好的做法。更好的解决方案是使用字典:

1

执行此操作后,您可以通过以下方式访问每个数据框:

mylist = ['a.csv','b.csv','c.csv']
mydict = {}

import pandas as pd
for file in mylist:
    mydict[file.rsplit('.csv',1)[0]] = pd.read_csv(file)

等...

答案 2 :(得分:1)

我认为您可以创建dictionary的{​​{1}}:

DataFrames