我在阅读包含英文和韩文字符的Python中的CSV文件时遇到了问题,在没有韩文的情况下测试了我的代码,它运行正常。
代码(Python - 3.6.4)
import csv
with open('Kor3.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader)
print(your_list)
错误
return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError:'charmap'编解码器无法解码位置的字节0x8d 2176:字符映射到未定义
CSV文件输出:已从Excel转换为unicode文本,然后将文件名更改为CSV。认为这是问题的路线。 从Excel或其他格式读取会更好吗?
示例输入(2列)
생일축하해요生日快乐
答案 0 :(得分:1)
打开文件时只需声明编码:
with open('Kor3.csv', 'r', encoding='utf-8') as f:
答案 1 :(得分:0)
使用python 3.默认情况下,Csv函数将使用unicode读取
答案 2 :(得分:0)
最后我刚从excel文件导入,认为这是csv而不是python的问题。谢谢你的帮助。
from xlrd import open_workbook
wb = open_workbook('Korean.xlsx')
values = []
for s in wb.sheets():
#print 'Sheet:',s.name
for row in range(1, s.nrows):
col_names = s.row(0)
col_value = []
for name, col in zip(col_names, range(s.ncols)):
value = (s.cell(row,col).value)
try : value = str(int(value))
except : pass
col_value.append((value))
values.append(col_value)
print(values) #test
print(values[0][1],values[1][1]) #test2