首頁  >  文章  >  後端開發  >  使用pandas讀取csv文件

使用pandas讀取csv文件

不言
不言原創
2018-04-21 14:46:346649瀏覽

下面要為大家分享一篇使用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檔案指定的前幾行

#

以上是使用pandas讀取csv文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn