2015-02-09 21 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

相關問題