1. 程式人生 > >【python】read_csv+編碼問題

【python】read_csv+編碼問題

想要讀取一個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()