下面要為大家分享一篇使用pandas讀取csv檔案的指定列方法,具有很好的參考價值,希望對大家有幫助。一起過來看看吧
根據教程實現了讀取csv檔案前面的幾行數據,一下就想到了是不是可以實現前面幾列的數據。經過多番嘗試總算試出來了一個方法。
之所以想實現讀取前面的幾列是因為我手邊的一個csv檔案剛好有後面幾列沒有可用數據,但是卻一直存在著。原來的資料如下:
GreydeMac-mini:chapter06 greyzhang$ cat data.csv
1,name_01,coment_01,,,, 2,name_02,coment_02,,,, 3,name_03,coment_03,,,, 4,name_04,coment_04,,,, 5,name_05,coment_05,,,, 6,name_06,coment_06,,,, 7,name_07,coment_07,,,, 8,name_08,coment_08,,,, 9,name_09,coment_09,,,, 10,name_10,coment_10,,,, 11,name_11,coment_11,,,, 12,name_12,coment_12,,,, 13,name_13,coment_13,,,, 14,name_14,coment_14,,,, 15,name_15,coment_15,,,, 16,name_16,coment_16,,,, 17,name_17,coment_17,,,, 18,name_18,coment_18,,,, 19,name_19,coment_19,,,, 20,name_20,coment_20,,,, 21,name_21,coment_21,,,,
#如果使用pandas讀取出全部的數據,印出來的時候會出現以下結果:
#In [41]: data = pd.read_csv('data.csv')
In [42]: data Out[42]: 1 name_01 coment_01 Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6 0 2 name_02 coment_02 NaN NaN NaN NaN 1 3 name_03 coment_03 NaN NaN NaN NaN 2 4 name_04 coment_04 NaN NaN NaN NaN 3 5 name_05 coment_05 NaN NaN NaN NaN 4 6 name_06 coment_06 NaN NaN NaN NaN 5 7 name_07 coment_07 NaN NaN NaN NaN 6 8 name_08 coment_08 NaN NaN NaN NaN 7 9 name_09 coment_09 NaN NaN NaN NaN 8 10 name_10 coment_10 NaN NaN NaN NaN 9 11 name_11 coment_11 NaN NaN NaN NaN 10 12 name_12 coment_12 NaN NaN NaN NaN 11 13 name_13 coment_13 NaN NaN NaN NaN 12 14 name_14 coment_14 NaN NaN NaN NaN 13 15 name_15 coment_15 NaN NaN NaN NaN 14 16 name_16 coment_16 NaN NaN NaN NaN 15 17 name_17 coment_17 NaN NaN NaN NaN 16 18 name_18 coment_18 NaN NaN NaN NaN 17 19 name_19 coment_19 NaN NaN NaN NaN 18 20 name_20 coment_20 NaN NaN NaN NaN 19 21 name_21 coment_21 NaN NaN NaN NaN
所說在學習的過程中這並不會給我帶來什麼障礙,但是在命令列終端介面呆久了總喜歡稍微清爽一點的風格。使用read_csv的參數usecols能夠在一定程度上減少這種混亂感。
In [45]: data = pd.read_csv('data.csv',usecols=[0,1,2,3])
#In [46]: data Out[46]: 1 name_01 coment_01 Unnamed: 3 0 2 name_02 coment_02 NaN 1 3 name_03 coment_03 NaN 2 4 name_04 coment_04 NaN 3 5 name_05 coment_05 NaN 4 6 name_06 coment_06 NaN 5 7 name_07 coment_07 NaN 6 8 name_08 coment_08 NaN 7 9 name_09 coment_09 NaN 8 10 name_10 coment_10 NaN 9 11 name_11 coment_11 NaN 10 12 name_12 coment_12 NaN 11 13 name_13 coment_13 NaN 12 14 name_14 coment_14 NaN 13 15 name_15 coment_15 NaN 14 16 name_16 coment_16 NaN 15 17 name_17 coment_17 NaN 16 18 name_18 coment_18 NaN 17 19 name_19 coment_19 NaN 18 20 name_20 coment_20 NaN 19 21 name_21 coment_21 NaN
為了能夠看到資料的“邊界”,讀取的時候顯示了第一列無效的資料。正常的使用中,或許我們是想連上面結果中最後一列的資訊也去掉的,那隻需要在參數重去掉最後一列的列號。
In [47]: data = pd.read_csv('data.csv',usecols=[0,1,2])
#
In [48]: data Out[48]: 1 name_01 coment_01 0 2 name_02 coment_02 1 3 name_03 coment_03 2 4 name_04 coment_04 3 5 name_05 coment_05 4 6 name_06 coment_06 5 7 name_07 coment_07 6 8 name_08 coment_08 7 9 name_09 coment_09 8 10 name_10 coment_10 9 11 name_11 coment_11 10 12 name_12 coment_12 11 13 name_13 coment_13 12 14 name_14 coment_14 13 15 name_15 coment_15 14 16 name_16 coment_16 15 17 name_17 coment_17 16 18 name_18 coment_18 17 19 name_19 coment_19 18 20 name_20 coment_20 19 21 name_21 coment_21
相關推薦:
#
以上是使用pandas讀取csv文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!