Python UnicodeDecodeError:&x27;charmap';编解码器可以';t解码2483位置的字节0x81:字符映射到<;未定义>;
我正在分析一个csv文件,我得到以下错误Python UnicodeDecodeError:&x27;charmap';编解码器可以';t解码2483位置的字节0x81:字符映射到<;未定义>;,python,Python,我正在分析一个csv文件,我得到以下错误 import os import csv from collections import defaultdict demo_data = defaultdict(list) if os.path.exists("infoed_daily _file.csv"): f = open("infoed_daily _file.csv", "rt") csv_reader = csv.
import os
import csv
from collections import defaultdict
demo_data = defaultdict(list)
if os.path.exists("infoed_daily _file.csv"):
f = open("infoed_daily _file.csv", "rt")
csv_reader = csv.DictReader(f)
line_no = 0
for line in csv_reader:
line_no +=1
print(line,line_no)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 2483: character maps to
<undefined>
导入操作系统
导入csv
从集合导入defaultdict
demo_data=defaultdict(列表)
如果os.path.exists(“infoed_daily_file.csv”):
f=打开(“infoed\u daily\u file.csv”、“rt”)
csv_reader=csv.DictReader(f)
行号=0
对于csv_读取器中的行:
行号+=1
打印(行,行号)
UnicodeDecodeError:“charmap”编解码器无法解码位置2483:字符映射到的字节0x81
请告知
谢谢。。
-Prasanna.K错误可能意味着您的文件编码不同于
UTF-8
,后者(可能在大多数系统中)在open()
当我跑的时候
b'\x81'.decode('Latin1')
b'\x81'.decode('Latin2')
b'\x81'.decode('iso8859')
b'\x81'.decode('iso8859-2')
然后它会无错误地运行-因此您的文件可以采用其中一些编码(或类似编码),您必须使用它
open(..., encoding='Latin1')
或类似的
其他编码列表:
对于上面的代码,我得到一个错误:
“charmap”编解码器无法解码位置637中的字节0x81:字符映射到
所以我试着更改文件扩展名,结果成功了。
快乐编码
谢谢
Vani可能文件使用的编码与utf-8不同,即
拉丁语-1
,cp1250
,您可能必须在open()
中使用它。当我运行b'\x81.decode('late1')
或b'\x81.decode('late2')
或b'\x81.decode('late2')
或b'\x81.decode('iso8859')
或b'\x81.decode('iso8859-2'))
然后它运行时不会出错-因此您的文件可以采用其中一些编码(或类似编码),您必须使用它open(…,encoding='Latin1')
谢谢大家。我使用了encoding=“latin-1”
它工作得很好。非常感谢
f=open("myfile1.txt",'r')
print(f.read())