Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python xlwt模块-保存xls unicode错误_Python_Character Encoding_Xlwt - Fatal编程技术网

Python xlwt模块-保存xls unicode错误

Python xlwt模块-保存xls unicode错误,python,character-encoding,xlwt,Python,Character Encoding,Xlwt,我试图用xlwt模块保存一些文本,创建新的xls文档并保存文本。到目前为止,它工作得很好,直到我遇到unicode文本:例如简单字符串“80°” 当我调用book.save('simple.xls')时,我得到了UnicodeDecodeError:“ascii”编解码器无法解码字节0xc2。有什么方法可以避免这种情况吗?编写Unicode字符串,而不是编写常规字符串。例如,代替 ws.write(r, c, '80°') 做 (当然,为您的数据选择合适的编码。)我现在也有类似的问题。我将un

我试图用xlwt模块保存一些文本,创建新的xls文档并保存文本。到目前为止,它工作得很好,直到我遇到unicode文本:例如简单字符串“80°”


当我调用
book.save('simple.xls')
时,我得到了
UnicodeDecodeError:“ascii”编解码器无法解码字节0xc2
。有什么方法可以避免这种情况吗?

编写Unicode字符串,而不是编写常规字符串。例如,代替

ws.write(r, c, '80°')


(当然,为您的数据选择合适的编码。)

我现在也有类似的问题。我将unicode对象传递给ws.write()在我的例子中。上面的代码通过使用decode()还将传递一个unicode对象。我觉得这行不通。现在,我实际上认为需要调用encode()将其转换为ws.write()可以处理的好的旧字符串。还有待观察的是它必须被编码为什么,如果OpenOffice和Excel都对此感到满意。请看@izak:与其只是“有感觉”,不如试试并确定一下?我答案中的代码在我的机器上工作,它遵循最接近官方手册的东西给出的指导:。(请参阅标题为“Unicode”的部分,在本文撰写时,该部分位于第22页底部。)@izak:似乎我之前给出的参考不够权威,对您链接的问题,投票最多并被接受的答案是xlwt作者自己写的,他明确表示xlwt接受(实际上更喜欢)
unicode
input.很公平:-)我也设法解决了我自己的问题,虽然现在我甚至记不起我做了什么,但可以说unicode并不像我想的那么大。
ws.write(r, c, '80°'.decode('cp1252'))