Python中有許多方便的庫(kù)可以用來(lái)進(jìn)行數(shù)據(jù)處理,尤其是Numpy和Pandas,再搭配matplot畫(huà)圖專用模塊,功能十分強(qiáng)大。
CSV(Comma-Separated Values)格式的文件是指以純文本形式存儲(chǔ)的表格數(shù)據(jù),這意味著不能簡(jiǎn)單的使用Excel表格工具進(jìn)行處理,而且Excel表格處理的數(shù)據(jù)量十分有限,而使用Pandas來(lái)處理數(shù)據(jù)量巨大的CSV文件就容易的多了。
我用到的是自己用其他硬件工具抓取得數(shù)據(jù),硬件環(huán)境是在Linux平臺(tái)上搭建的,當(dāng)時(shí)數(shù)據(jù)是在運(yùn)行腳本后直接輸出在terminal里的,數(shù)據(jù)量十分龐大,為了保存獲得的數(shù)據(jù),在Linux下使用了數(shù)據(jù)流重定向,把數(shù)據(jù)全部保存到了文本文件中,形成了一個(gè)本地csv文件。
Pandas讀取本地CSV文件并設(shè)置Dataframe(數(shù)據(jù)格式)
import pandas as pdimport numpy as npdf=pd.read_csv('filename',header=None,sep=' ') #filename可以直接從盤符開(kāi)始,標(biāo)明每一級(jí)的文件夾直到csv文件,header=None表示頭部為空,sep=' '表示數(shù)據(jù)間使用空格作為分隔符,如果分隔符是逗號(hào),只需換成 ‘,'即可。print df.head()print df.tail()#作為示例,輸出CSV文件的前5行和最后5行,這是pandas默認(rèn)的輸出5行,可以根據(jù)需要自己設(shè)定輸出幾行的值
數(shù)據(jù)讀取示例
圖片中顯示了我本地?cái)?shù)據(jù)的前5行與最后5行,最前面一列沒(méi)有標(biāo)號(hào)的是行號(hào),數(shù)據(jù)一共有13列,標(biāo)號(hào)從0到12,一行顯示不完全,在第9列以后換了行,并且用反斜杠“/”標(biāo)注了出來(lái)。
2017年4月28日更新
使用pandas直接讀取本地的csv文件后,csv文件的列索引默認(rèn)為從0開(kāi)始的數(shù)字,重定義列索引的語(yǔ)句如下:
import pandas as pdimport numpy as npdf=pd.read_csv('filename',header=None,sep=' ',names=["week",'month','date','time','year','name1','freq1','name2','freq2','name3','data1','name4','data2'])print df此時(shí)打印出的文件信息如下,列索引已經(jīng)被重命名:

以上這篇Python使用pandas處理CSV文件的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選