本文目錄一覽:
python解決csv文件用excel打開亂碼問題
【問題】
python輸出的csv文件用excel打開,裡面的中文會變成亂碼,但用window下的記事本或mac下的numbers打開就正常顯示。
原因是python輸出的文件是utf-8編碼寫入的,excel默認以gbk方式讀取,導致亂碼發生。
【解決方法1】文件產出時encoding設置為utf-8-sig
用excel打開csv時,excel會先檢查文件的第一個字元,來了解這個文件是什麼編碼方式,如果這個字元是BOM,excel就知道用utf-8的方式打開這個文件。python自帶了處理BOM的編碼方式uft-8-sig,因此只需要在文件產出時將encoding設置為utf-8-sig。
如果文件不是由python產出的,只需要以utf-8方式讀入再以utf-8-sig方式存儲即可
【解決方法2】懶人法,適用只含簡體中文的文件
用記事本打開,點擊另存為,右下角編碼方式選擇「ANSI」,這個過程是把這個文件改成gbk編碼格式,excel就是默認用gbk方式打開的。
參考: Python寫的csv文件,如何讓 Excel 雙擊打開不亂碼? – 雲+社區 – 騰訊雲
對編碼格式一竅不通的可以閱讀以下網頁
python筆記——二進位和文件編碼_砍柴姑娘Jourosy的博客-CSDN博客
編碼方式之ASCII、ANSI、Unicode概述 – 藍海人 – 博客園
【簡單總結】:
1. 首先需要了解 字符集 和 字元編碼 兩個概念,字符集定義了字元和二進位的一一對應關係,字元編碼規定了如何將字元的編號存儲到計算機中。
2. Unicode是字符集,包含了全球文字的唯一編碼,utf-8是編碼方式,將unicode以某種方式存儲到計算機中。
3. 有些字符集和編碼是結合在一起的,稱作字符集還是編碼都無所謂,比如ASCII,GBK
4. ANSI是各個國家地區不同擴展編碼方式的總稱,互不兼容(可以看出來通用性沒有utf好)
5. 不同編碼方式在轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字元串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。
Python打不開.py文件
Python打不開.py文件是因為打開方式不對,正確的打開步驟為:
1、進入需要打開的py文件目錄:
2、按下Ctrl鍵+滑鼠右鍵,打開命令菜單:
3、選擇命令菜單中的【在此處打開命令窗口】:
4、在打開的命令行窗口輸入python 文件名.py 命令:
5、鍵入回車,可以打開執行py文件,結果如下:
注意事項:
命令行中執行python命令,需要提前將python執行程序加入系統變數,則可以在任意文件夾執行python命令。
py文件打不開一閃就沒了
找到到我們平時編輯python後,將文件儲存的所在文件夾的位置,嘗試下雙擊,看是否能打開。
打不開或者閃退,可以嘗試選擇打開方式,選擇Python應用程序或者文本編譯器看看是否能夠打開文件。我先嘗試了雙擊,未打開,接著選擇打開方式–pthon,還是失敗。然後選擇了平時的文本編譯器Geany,成功打開了命名為comment.py的python文件。
嘗試用文本編譯器執行該python文件,看看能否運行。結果顯示可以成功運行,嘗試在完成後的程序末尾加上函數input(),加入這個函數後,相當於在等待你輸入,這是一個還未完結的程序。再選擇保存,退出geany編譯器,再次找到該python文件,嘗試雙擊或者選擇python程序打開該文件。問題就解決了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249157.html