Python如何使用chardet.detect() 偵測編碼(encoding)? #”charset(字符集) detection”

加入好友
加入社群
Python如何使用chardet.detect() 偵測編碼(encoding)? #"charset(字符集) detection" - 儲蓄保險王

chardet 的英文字縮寫是

“charset(字符集) detection”,

意思是編碼偵測。

chardet 是 Python 的一個套件,

可以自動判斷文字檔案的編碼方式,

通常用在處理 CSV、JSON、XML 等純文字檔案時,

可以先使用 chardet 套件來判斷檔案的編碼,

再使用正確的編碼方式進行讀取,

避免因編碼不同而導致的資料解析錯誤。

 

import os
import chardet
import pandas as pd

folder = r"C:\Temp"
fname = "test.txt"
fpath = os.path.join(folder,fname)
#'C:\\Temp\\test.txt'

with open(fpath, 'rb') as f:
    result = chardet.detect(f.read())
# "charset(字符集) detection"

“””注意要使用rb模式開檔,

不然會出現TypeError

File C:\ProgramData\Anaconda\lib\site-packages\chardet\__init__.py:36 in detect
raise TypeError(‘Expected object of type bytes or bytearray, got: ‘

TypeError: Expected object of type bytes or bytearray, got: <class ‘str’>

“””

print("charset(字符集) detection:\n",result)

df = pd.read_csv(fpath, encoding=result['encoding'])

 

Python如何使用chardet.detect() 偵測編碼(encoding)? #"charset(字符集) detection" - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python如何使用chardet.detect() 偵測編碼(encoding)? #"charset(字符集) detection" - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *