2015-02-09 45 views
1

我将数据保存为csv文件夹。我想打开它们并创建一个独特的字典或数据框来使用它。数据具有相同的列名但行数不同。 我试图逐个打开文件夹中的所有csv并将它们附加到字典或熊猫数据框中

big_data={} 
path='/pathname' 
files=glob.glob(path+/".csv") 
for l in files: 
    data=pd.read_csv(l,index_col=None, header=0) 
    big_data.append(data) 
df=pd.DataFrame.from_dict(big_data) 

但效果都不好 任何人都可以给我一个提示我做错了吗?

回答

1

你应该使用列表和concat

big_data=[] 
path='/pathname' 
files=glob.glob(path+/".csv") 
for l in files: 
    data=pd.read_csv(l,index_col=None, header=0) 
    big_data.append(data) 
df=pd.concat(big_data) 

from_dict方法的问题是,它期待的关键是无论是指数或列,但在你的情况下,他们是DF对象这是不正确

+0

谢谢!如果我在添加数据框之前对数据框进行了一些子设置,它仍然可以工作吗? – user1234 2015-02-09 21:27:22

+0

你的意思是为每个df选择相同的列?是的,你可以使用'usecols'参数来'read_csv'或者将相同的列列表传递给df,然后再附加 – EdChum 2015-02-09 21:28:13

+0

谢谢!我做了一些计算并添加了一个新列,但它仍然有效 – user1234 2015-02-09 22:04:33

相关问题