python中有許多方便的庫可以用來進行數據處理,尤其是numpy和pandas,再搭配matplot畫圖專用模塊,功能十分強大。
csv(comma-separated values)格式的文件是指以純文本形式存儲的表格數據,這意味著不能簡單的使用excel表格工具進行處理,而且excel表格處理的數據量十分有限,而使用pandas來處理數據量巨大的csv文件就容易的多了。
我用到的是自己用其他硬件工具抓取得數據,硬件環境是在linux平臺上搭建的,當時數據是在運行腳本后直接輸出在terminal里的,數據量十分龐大,為了保存獲得的數據,在linux下使用了數據流重定向,把數據全部保存到了文本文件中,形成了一個本地csv文件。
pandas讀取本地csv文件并設置dataframe(數據格式)
1
2
3
4
5
6
|
import pandas as pd import numpy as np df = pd.read_csv( 'filename' ,header = none,sep = ' ' ) #filename可以直接從盤符開始,標明每一級的文件夾直到csv文件,header=none表示頭部為空,sep=' '表示數據間使用空格作為分隔符,如果分隔符是逗號,只需換成 ‘,'即可。 print df.head() print df.tail() #作為示例,輸出csv文件的前5行和最后5行,這是pandas默認的輸出5行,可以根據需要自己設定輸出幾行的值 |
數據讀取示例
圖片中顯示了我本地數據的前5行與最后5行,最前面一列沒有標號的是行號,數據一共有13列,標號從0到12,一行顯示不完全,在第9列以后換了行,并且用反斜杠“\”標注了出來。
2017年4月28日更新
使用pandas直接讀取本地的csv文件后,csv文件的列索引默認為從0開始的數字,重定義列索引的語句如下:
1
2
3
4
|
import pandas as pd import numpy as np df = pd.read_csv( 'filename' ,header = none,sep = ' ' ,names = [ "week" , 'month' , 'date' , 'time' , 'year' , 'name1' , 'freq1' , 'name2' , 'freq2' , 'name3' , 'data1' , 'name4' , 'data2' ]) print df |
此時打印出的文件信息如下,列索引已經被重命名:
以上這篇python使用pandas處理csv文件的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/atnanyang/article/details/70832257