使用xlsxwriter编写.xlsx文件时出现UnicodeDecodeError错误

时间:2014-01-15 23:52:48

标签: python xlsxwriter

我正在尝试从我的python应用程序向.xlsx文件写入大约1000行。数据基本上是整数和字符串的组合。运行wbook.close()命令时出现间歇性错误。错误如下:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15: 
                     ordinal not in range(128)

我的数据在unicode中没有任何内容。我想知道为什么解码器正在存在。有没有人注意到这个问题?

2 个答案:

答案 0 :(得分:15)

0xc3是“À”。所以你需要做的是改变编码。使用decode()方法。

string.decode('utf-8')

根据您的需要和用途,您可以添加

# -*- coding: utf-8 -*-

在脚本的开头,但前提是您确定编码不会干扰并破坏其他内容。

答案 1 :(得分:4)

Alex Hristov指出,您的代码中有一些非ascii数据需要编码为Excel的UTF-8。

请参阅文档中的以下示例,每个示例都包含有关在不同场景中使用XlsxWriter处理UTF-8的说明: