2
我在使用Pandas v0.18.1中的read_csv來讀取一些數據。我想選擇從CSV列和行的一個子集,所以我曾嘗試:同時使用usecols和skiprows(在Pandas read_csv中)給出錯誤
df_a = pd.read_csv(filepath, index_col = False, usecols=cols_to_use, skiprows=1)
這給了我ValueError異常:Usecols不匹配的名字。 注意cols_to_use是列名的列表,但如果我離開了skiprows部分:
df_a = pd.read_csv(filepath, index_col = False, usecols=cols_to_use)
它工作正常,同樣,如果我離開了usecols位,並把skiprows回來,工作正常太。
這可能是一個錯誤(你不能同時使用usecols和skiprows)?我試過查看文檔,但找不到任何提及。或者也許有一個邏輯的原因,你不能同時使用?
(此外如果有挑選出從CSV列和行的一個子集的更好/更明顯的方式,將太感激!)
提前感謝!
我不確定你在做什麼。但是'cols_to_use'可以是一個列名列表,如果這些列名在一個標題行(你可能會跳過'skiprows = 1')或一個整數列表。也許你正在試圖命名你的專欄。在這種情況下,你想'names = cols_to_use'。 – piRSquared
您能否提供您正在嘗試閱讀的文件示例?你能提供工作命令的輸出嗎? 我的猜測是你的文件在第一行有列名。如果使用skiprows,則pandas可能不會讀取第一行,並可能讀取第2行中的列名。 –
該問題指出他希望「從csv中挑選出列和行的子集」。所以看起來'names = cols_to_use'不是要走的路。 –