由于防止0開頭的字符串在excel里面顯示不了前面的0葬凳,所以一般會轉(zhuǎn)變格式狠半,這個(gè)格式轉(zhuǎn)變包含很多盗温,包括前面加“ ’? ”或者改為編碼格式等熔酷,這種格式在轉(zhuǎn)換為csv的時(shí)候就會是雙引號引起來每個(gè)字符串秽之,這樣我們讀取就不能用utf-8讀取了
正常讀取方法:
import pandasas pd
import numpyas? np
import xlrd
trainFile ='E:/20170131.csv'
data = pd.read_csv(trainFile,encoding='utf-8')
在出現(xiàn)雙引號的時(shí)候如果我們依然用utf-8讀取會報(bào)一下錯(cuò)誤:
Python 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuat
解決方法如下:(更改解碼方法)
import pandasas pd
import numpyas? np
import xlrd
trainFile ='E:/20170131.csv'
data = pd.read_csv(trainFile,encoding='GBK')
幾種編碼的區(qū)別:
其實(shí)上面的還可以文件還可以 使用ISO-8859-1進(jìn)行解碼当娱,但是解碼之后的不能顯示中文,因?yàn)閺谋举|(zhì)上說考榨,ISO-8859-1是單字節(jié)編碼跨细,自身不能顯示中文
GBK是國家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)。GBK的文字編碼是用雙字節(jié)來表示的河质,即不論中冀惭、英文字符均使用雙字節(jié)來表示,為了區(qū)分中文掀鹅,將其最高位都設(shè)定成1散休。GBK包含全部中文字符,是國家編碼乐尊,通用性比UTF8差戚丸,不過UTF8占用的數(shù)據(jù)庫比GBD大。
UTF-8:是用以解決國際上字符的一種多字節(jié)編碼扔嵌,它對英文使用8位(即一個(gè)字節(jié))限府,中文使用24為(三個(gè)字節(jié))來編碼夺颤。UTF-8包含全世界所有國家需要用到的字符,是國際編碼胁勺,通用性強(qiáng)世澜。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。如姻几,如果是UTF8編碼宜狐,則在外國人的英文IE上也能顯示中文势告,他們無需下載IE的中文語言支持包蛇捌。
針對上面帶引號的情況,顯示中文需要使用“GBK”咱台,其他的可以直接使用“UTF-8"络拌。