【发布时间】:2017-01-27 19:46:14
【问题描述】:
当我导入 csv 文件时,python 会抛出以下错误:
File "/Users/sethkillian/Documents/Python/metar/metar.py", line 31, in get_AirportInfo
for line in airports:
File "/Users/sethkillian/anaconda/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 358: ordinal not in range(128)
使用 Microsoft Excel,我将文件保存为 UTF-8 CSV 文件。
我也尝试将.decode('UTF-8') 放在末尾,但它不接受字符串。
这是我的原始代码:
def get_AirportInfo():
airports = open('airport_codes.csv','r')
for line in airports:
print(line.strip().split(','))
有什么想法吗?我查看了该文件,但找不到任何应该触发它的特殊字符。
【问题讨论】:
-
试试 airports = open("'airport_codes.csv'", "r", encoding="utf-8")
-
你能把文件寄出去吗?我通常会遍历并尝试解码每列中的每个值,以查看导致错误的值。