我正在尝试从我的python应用程序向.xlsx文件写入大约1000行。数据基本上是整数和字符串的组合。运行wbook.close()命令时出现间歇性错误。错误如下:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15:
ordinal not in range(128)
我的数据在unicode中没有任何内容。我想知道为什么解码器正在存在。有没有人注意到这个问题?
答案 0 :(得分:15)
0xc3是“À”。所以你需要做的是改变编码。使用decode()方法。
string.decode('utf-8')
根据您的需要和用途,您可以添加
# -*- coding: utf-8 -*-
在脚本的开头,但前提是您确定编码不会干扰并破坏其他内容。
答案 1 :(得分:4)
Alex Hristov指出,您的代码中有一些非ascii数据需要编码为Excel的UTF-8。
请参阅文档中的以下示例,每个示例都包含有关在不同场景中使用XlsxWriter处理UTF-8的说明: