【python】read_csv+編碼問題
阿新 • • 發佈:2019-01-30
想要讀取一個excel檔案,並且獲取某一個分類下的所有的資料
1 pandas官方api有read_excel方法,然而我試了總是提示找不到這個方法,so 還是採用了read_csv
2 將excel轉為csv檔案,pd.read_csv(path)可以讀取,但是亂碼,pd.read_csv(path,encoding='utf-8')會出現
只有變更csv檔案本身的編碼了,用notepad開啟,有個編碼選擇,前方高能,注意:
我這裡一開始選擇了utf8編碼,導致後來出現了獲取資料不準確的問題,在轉碼的時候,有些字元錯誤導致,分隔符並沒有解析出來,
csv本來就是逗號分隔符檔案,所以讀取的話就會出現資料移動的問題
我在csv檔案中並沒有看出這個問題,groupby的時候發現出現了不應該出現的資料統計,所以定位到出現錯誤的index
data_r = data['***'] #返回series
data_err = data_r[data_r == '******'] 返回index和值
用notepad開啟 發現錯誤所在序列,確實現實了問題
這裡高新技術和國稅 本來應該是兩列,但是因為轉碼錯誤,導致“,”解析不出來,整個資料左移了一位
最後嘗試了下 csv檔案轉碼的時候 在notepad裡選擇 utf8無bom編碼格式
最後成功
__author__ = 'user' # -*- coding:utf-8 -*- import numpy as np import pandas as pd import matplotlib as plt from pandas import Series,DataFrame data = pd.read_csv('E:/yangnan/work/2013_1.csv') print data.columns data_scale = data['企業規模(國家統計局標準)'] print data_scale.size print data_scale.value_counts()