Python操作中出現中文亂碼等問題 - 程式人生
文章推薦指數: 80 %
若設定encoding直接報錯:用記事本開啟csv檔案,另存為設定編碼為utf-8,然後重新讀 ... df.to_csv("cnn_predict_result.csv",encoding="utf_8_sig").
程式人生>>Python操作中出現中文亂碼等問題
Python操作中出現中文亂碼等問題
阿新••發佈:2018-11-30
1.程式碼開始:
#-*-coding:utf-8-*-
1
2.讀寫csv或者excel檔案
pandas讀取CSV檔案,中文出現亂碼:
a.設定encoding=’gbk’或者encoding=’utf-8’。
pd.read_csv('data.csv',encoding='gbk')
1
b.若設定encoding直接報錯:用記事本開啟csv檔案,另存為設定編碼為utf-8,然後重新讀取檔案設定encoding=’utf-8’
pandas匯出CSV檔案,中文出現亂碼:在匯出時記得也加上encoding引數,否則匯出後用excel開啟也是亂碼,editplus開啟正常,如:
df.to_csv("sel.csv",index=False,encoding="gbk")
1
若以上方法均不能解決:
df.to_csv("cnn_predict_result.csv",encoding="utf_8_sig")
1
df2.to_csv('./10086_new.csv',encoding='utf_8_sig')
1
在程式中能夠正常輸出中文,但是匯出到檔案後使用excel開啟是出現中文亂碼是因為excel能夠正確識別用gb2312、gbk、gb18030或utf_8withBOM編碼的中文,如果是utf_8noBOM編碼的中文檔案,excel開啟會亂碼。
pandas的to_csv方法:如:
df_data.to_csv('/tmp/9.csv',columns=['open','high'],index=False,header=False,encoding='utf_8_sig')#不要列頭,不要索引,只要open,high兩列
1
見pandas.DataFrame.to_csv
可以參考pythoncsv中文亂碼解決方法。
3.matplotlib顯示中文問題
plt.rcParams['font.sans-serif']=['SimHei']#指定預設字型
plt.rcParams['axes.unicode_minus']=False#解決儲存影象是負號'-'顯示為方塊的問題
1
2
在Jupyter中可能依然無法解決,可嘗試以下方法:
a.先匯入字型
myfont=mpl.font_manager.FontProperties(fname='/System/Library/Fonts/STHeitiLight.ttc')
1
b.在title/xlabel/ylabel處加關鍵字引數fontproperties=myfont在legend處加prop=myfont
frompylabimportmpl#importmatplotlibasmpl
myfont=mpl.font_manager.FontProperties(fname='./../../../../../../Library/Fonts/Microsoft/Kaiti.ttf')
mpl.rcParams['axes.unicode_minus']=False
index=df['unname']
values1=df['count']
width=0.5
plt.title(u'十三場景條狀圖',fontproperties=myfont)
plt.bar(index,values1,color='g',alpha=0.5)
plt.xticks(index+0.4,df[u'十三場景'],fontproperties=myfont)
plt.show()
1
2
3
4
5
6
7
8
9
10
11
ps:
ax.legend(lines,labs,loc='best',prop=myfont)#定義圖示,注意zhfont1是字型,prop是加字型的引數。
loc是圖示在圖裡的位置引數。
plt.xlabel(u'日期',fontproperties=myfont)#x軸名稱。
與lengend引數不同,fontproperties是座標軸名稱和圖表標題改變字型的引數。
plt.title(u'預覽頁到下單提交頁使用者累積數轉化率',fontproperties=myfont)#圖表標題
1
2
3
4
5
字型
windows名稱
黑體
SimHei
微軟雅黑
MicrosoftYaHei
微軟正黑體
MicrosoftJhengHei
新宋體
NSimSun
新細明體
PMingLiU
細明體
MingLiU
標楷體
DFKai-SB
仿宋
FangSong
楷體
KaiTi
仿宋_GB2312
FangSong_GB2312
楷體_GB2312
KaiTi_GB2312
宋體:SimSuncss中中文字型(font-family)的英文名稱
字型
MacOS
華文細黑
STHeitiLight[STXihei]
華文黑體
STHeiti
華文楷體
STKaiti
華文宋體
STSong
華文仿宋
STFangsong
有用python處理csv檔案出現亂碼或者報錯的情況可以嘗試把csv檔案儲存為Excel檔案來解決問題。
更多字型可以參考此處。
可以參考matplotlib在Jupyter中文顯示問題
參考
Mac電腦獲取檔案路徑Mac電腦字型安裝
附,字型對應名稱
1.程式碼開始:
hihocoder1797單調遞增子序列二分
«上一篇
jenkins配置工作目錄下一篇»
相關推薦
Python操作中出現中文亂碼等問題
1.程式碼開始:
#-*-coding:utf-8-*-
1
2....
graphviz畫圖與中文亂碼等問題總結
pre字體自動軟件總結中文xxxcolor描述最近想寫一些文檔,畫一些程序的邏輯圖,用了vision,ma...
HttpServletRequest、通過request獲得請求頭、請求體等、解決中文亂碼等問題
1、HttpServletRequest概述:
我們在建立Servlet時,會重寫service()方法、doGet()\、doPost()方法,這些方法都有...
csv匯入mysql中文亂碼等問題
1、日期格式選擇不正確導致匯入失敗
源日期格式:2018-05-3123:49:44,匯入時日期分隔符預設為“/”,調整為“-”,問題解決。
...
關於VSCode使用coderunner編譯執行java出現報錯亂碼的問題
在編譯出錯時,報錯會出現亂碼,無法顯示中文。
解決辦法:
開啟檔案-首選項-設定
在使用者設定中新增:
&nb...
HttpClient傳送請求後得到的響應內容出現部分亂碼的問題
這幾天爬蟲出現了一個問題,用HttpClient不管是傳送的Post請求還是Get請求一直出現一個問題:得到的響...
通過JDBC操作資料庫時出現中文亂碼的問題,Navicat
問題的發生
昨天我幫我同學做了一個前端加後端的專案,使用的是jdbc+Servlet+jsp技術。
但是通過ju...
C++操作MySQL出現中文亂碼問題
*解決方案:*
在連線到資料庫後加上這麼一句
l...
解決JDBC操作資料庫出現中文亂碼的問題
通過JDBC操作資料庫表時,如果記錄中有中文,可能會碰到亂碼的問題。
主要原因是字元編碼(characterEnc...
Nodejs-20181115-nodejs操作csv出現中文亂碼
Problem
Nodejs利用fs.write...
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
最近訪問
Python操作中出現中文亂碼等問題
Python+Kivy+中文教程:安裝(Windows)
C#(Winform)+當前執行緒不在單執行緒單元中,因此無法例項化+ActiveX+控制元件
Flutter起步之安裝
mysql+not+exists+和+not+in對比
甘特圖外掛
第4講+李群與李代數
linux+/sys目錄下各個子目錄的具體說明
linux下下載的zip檔案解壓之後中文檔名亂碼
團隊專案評測
延伸文章資訊
- 1解決Python匯出CSV或Excel檔時,中文字顯示為亂碼的問題
順帶一提,utf-8-sig事實上有兩種寫法,utf-8-sig與utf_8_sig,兩者似乎有微秒的 ... encoding='utf-8-sig') df.to_csv(path + '/...
- 2pandas 之to_csv 儲存資料出現中文亂碼問題及解決辦法
(1)使用df.to_csv(file_name2, encoding='utf-8') 後還是編碼有問題 ... (2)使用df.to_csv(file_name2, encoding='ut...
- 3Python Pandas Dataframe套件「 to_csv」寫入csv檔中文亂碼 ...
脈絡分析. 分類:Python資料處理| Excel CSV存檔; 問題描述:打開Excel,中文文字顯示亂碼; 解決方式:Excel CSV存檔指定編碼(encoding)為「utf_8_si...
- 4Day 18 - 取得所有Contract程式範例 - iT 邦幫忙
DataFrame(stock_list) #將stock_list轉換成DataFrame df.to_csv('stock_list.csv', encoding="utf_8_sig") ...
- 5python 字符串编码,区别utf-8 和utf-8-sig - 静悟生慧- 博客园
问题描述: json.loads(text,encoding='utf8') 报Unexpected UTF-8 BOM (decode using utf-8-sig)错误,将 ...