我正在讀取一個資料集,其中我們將列添加到歷史檔案中,并且我想一致地讀取這些檔案。問題是較舊的檔案缺少一列標題中沒有正確數量的選項卡,這導致第一列被讀取為索引。
這bad.csv
Col1 Col2 Col3 Col4 Col5
6 2 3
5 2 4
Agood.csv正確加載
Col1 Col2 Col3 Col4 Col5 Col6
6 2 3
5 2 4
我正在閱讀 csvs 檔案df = pd.read_csv('bad.csv', sep='\t')
我可以通過查看索引來檢測檔案是否有問題,如何更正錯誤檔案以便在 Col1 不屬于索引的情況下加載?我試過df.shift(1, axis=1)了,但這不包括索引,我可以在轉移后設定,但我擔心這可能會產生更多問題。前任:
df = df.shift(1,axis=1)
df.Col1 = df.index
有沒有更好的辦法?
uj5u.com熱心網友回復:
根據檔案:
注意: index_col=False 可用于強制 pandas 不使用第一列作為索引,例如當您有一個格式錯誤的檔案時,每行末尾都有分隔符。
所以我確保每一行都以 \t 結尾
壞的.csv:
col1 col2 col3 col4 col5
2 4 6 8 10
3 5 8 10 13
4 8 12 16 20 24
15 13 11 9 7 5
1 1 2 3 5 8
然后:
df = pd.read_csv('bad.csv', sep='\t', index_col=False)
結果
col1 col2 col3 col4 col5 Unnamed: 5
0 2 4 6 8 10 NaN
1 3 5 8 10 13 NaN
2 4 8 12 16 20 24.0
3 15 13 11 9 7 5.0
4 1 1 2 3 5 8.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/481846.html
