使用python讀取CSV文件時遇到編碼問題解決方案
嘗試使用python讀取CSV文件時遇到障礙。
更新:如果只想跳過字符或錯誤,可以打開文件,如下所示:
with open(os.path.join(directory, file), 'r', encoding="utf-8", errors="ignore") as data_file:
到目前為止,我已經(jīng)嘗試過了。
for directory, subdirectories, files in os.walk(root_dir):
for file in files:
with open(os.path.join(directory, file), 'r') as data_file:
reader = csv.reader(data_file)
for row in reader:
print (row)
我得到的錯誤是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我試過了
with open(os.path.join(directory, file), 'r', encoding="UTF-8") as data_file:
錯誤:
UnicodeEncodeError: 'charmap' codec can't encode character '\u2026' in position 223: character maps to
現(xiàn)在,如果我只打印data_file,它說它們是cp1252編碼的,但是如果我嘗試
with open(os.path.join(directory, file), 'r', encoding="cp1252") as data_file:
我得到的錯誤是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我也嘗試了推薦的套餐。
我得到的錯誤是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 224-225: character maps to
我要解析的行是:
2015-11-28 22:23:58,670805374291832832,479174464,"MarkCrawford15","RT @WhatTheFFacts: The tallest man in the world was Robert Pershing Wadlow of Alton, Illinois. He was slighty over 8 feet 11 inches tall.","None
任何想法或幫助表示贊賞。
解決方案
我將使用csvkit,它使用自動檢測適當(dāng)?shù)木幋a和解碼。例如
import csvkit reader = csvkit.reader(data_file)
正如聊天解決方案所述,
for directory, subdirectories, files in os.walk(root_dir): for file in files: with open(os.path.join(directory, file), 'r', encoding="utf-8") as data_file: reader = csv.reader(data_file) for row in reader: data = [i.encode('ascii', 'ignore').decode('ascii') for i in row] print (data)
到此這篇關(guān)于用python讀取CSV文件時遇到編碼問題的文章就介紹到這了,更多相關(guān)python讀取CSV文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python如何檢查一個數(shù)字是否為科技數(shù)
科技數(shù)(Tech?Number)是一種在數(shù)學(xué)上具有一定特殊性質(zhì)的數(shù)字,這篇文章主要為大家詳細介紹了如何使用Python檢查一個數(shù)字是否為科技數(shù),感興趣的可以了解下2024-03-03Python接入MySQL實現(xiàn)增刪改查的實戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于Python接入MySQL實現(xiàn)增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03使用Python實現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能
這篇文章主要介紹了使用Python實現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11一篇文章從零開始創(chuàng)建conda環(huán)境、常用命令的使用及pycharm配置項目環(huán)境
在Conda中創(chuàng)建新環(huán)境是一個非常有用的做法,尤其是當(dāng)你需要為不同的項目安裝不同版本的軟件包時,這篇文章主要給大家介紹了關(guān)于從零開始創(chuàng)建conda環(huán)境、常用命令的使用及pycharm配置項目環(huán)境的相關(guān)資料,需要的朋友可以參考下2024-07-07python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案
今天小編就為大家分享一篇python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python稀疏矩陣及參數(shù)保存代碼實現(xiàn)
這篇文章主要介紹了Python稀疏矩陣及參數(shù)保存代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04