Python UnicodeDecodeError:&x27;charmap';编解码器可以';t解码2483位置的字节0x81:字符映射到<;未定义>;

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.

我正在分析一个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())