python讀取數據文件以進行下一步分析我一般用pandas,代碼很簡單
import pandas as pd
import numpy as np
data_file = pd.read_csv(file_name)
但這會遇到兩個問題:文件路徑和編碼
1.文件路徑選擇
mac不存在地址欄,有時候你去獲取文件路徑粘貼過來打開會報錯
File b'***.csv' does not exist
而你不想每次要去找數據文件路徑,最簡單的辦法是先獲取你在編輯的Ipython notebook的路徑,然后把數據文件放在該路徑下,到時候直接輸入文件名就能打開文件了。
#獲取默認路徑
import os
print (os.path.abspath('.'))
比如我的路徑是
/Volumes/LXQ/inotebooks/data
接下來把數據文件比如rawdata.csv拖到data文件夾下,再打開
data_file = pd.read_csv('rawdata.csv')
就行了,不用輸入路徑。
2.編碼問題
當提示
'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
的時候,意味著編碼錯誤。
這個問題爬網頁的時候也會遇到。原因是python的編碼與爬下來的網頁編碼不一樣,python讀不懂,只能返回亂碼。
解決辦法是:
首先搞清楚python的默認編碼
#獲取系統默認編碼:
import sys
print(sys.getdefaultencoding())
返回
utf-8
OK如果你爬取的網頁的編碼是utf-8,爬下來的結果就能正常顯示。但把爬下來的數據存到csv文檔,讓python再次讀取又是另一回事,因為csv文檔用的未必是utf-8編碼,這時候需要解碼
import numpy as np
data_file=pd.read_csv('rawdata.csv',encoding='gb2312')
print (data_file[0:3])
encoding后面的內容,取決于csv文件的編碼。
完事。