假设我需要在Python 3.6中的.csv中编写并读取一个带有波兰语单词的字符串列表:
lista=['szczęśliwy','jabłko','słoń','kot']
由于不可能在.csv中写入Unicode字符,我将字符串编码为utf-8,因此数据将这样保存在文件中(所有数据都保存在第一个.csv单元格中):
b'szcz\xc4\x99\xc5\x9bliwy',b'jab\xc5\x82ko',b's\xc5\x82o\xc5\x84',b'kot'
但我无法使用以下代码从output.csv文件解码数据:
with open('output.csv') as csvarchive:
entrada = csv.reader(csvarchive)
for reg in entrada:
lista2=reg
print(lista2)
["b'szcz\\xc4\\x99\\xc5\\x9bliwy'", "b'jab\\xc5\\x82ko'", "b's\\xc5\\x82o\\xc5\\x84'", "b'kot'"]
lista2
仍然是字符串列表,但是使用utf-8编码,我无法恢复特殊字符。
我尝试了几种方法,比如以'rb'
模式读取文件,再次编码和解码。。。但因为我是新来的,所以没能成功。一定有很简单的解决办法。
newline=''
打开CSV文件(这适用于Pythoncsv
模块)因此,假设您的CSV文件是UTF-8编码的,请使用:
这同样适用于写入文件:
不需要进行任何手动字符串编码。将字符串值写入
csv
写入程序,文件编码将透明进行。相关问题 更多 >
编程相关推荐