Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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/2/batch-file/5.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数据乱码_Python_Xlwt - Fatal编程技术网

Python xlwt数据乱码

Python xlwt数据乱码,python,xlwt,Python,Xlwt,我从数据库中检索汉字数据,并通过xlwt将数据写入excel, 代码如下: ws0.write(0,0, unicode(cell, 'big5')) 在Windows下还可以,但当我在Linux下删除它时,excel中的数据被弄乱了, 你能帮忙吗?如果你发布了你实际运行的代码,那会有所帮助。假设ws0是一个工作表对象,正确的语法是ws0.writerow\u index、column\u index、unicode\u text cell指的是什么?您是如何从哪个数据库中提取它的 excel

我从数据库中检索汉字数据,并通过xlwt将数据写入excel, 代码如下:

ws0.write(0,0, unicode(cell, 'big5'))
在Windows下还可以,但当我在Linux下删除它时,excel中的数据被弄乱了,
你能帮忙吗?

如果你发布了你实际运行的代码,那会有所帮助。假设ws0是一个工作表对象,正确的语法是ws0.writerow\u index、column\u index、unicode\u text

cell指的是什么?您是如何从哪个数据库中提取它的

excel中的数据乱码是什么意思?您在Linux上使用什么来查看XLS文件的内容?你在屏幕上看到了什么?你能用其他软件在Linux上正确显示汉字吗

请尝试在Linux上的Python交互式提示符处键入以下内容:

>>> import xlwt
>>> b = xlwt.Workbook()
>>> s = b.add_sheet('zh')
>>> big5_text = '\xa7A\xa6n\xa1I'
>>> u_text = big5_text.decode('big5')
>>> s.write(0, 0, u_text)
>>> b.save('nihao.xls')
然后尝试使用OpenOffice Calc打开XLS文件。。。你看到了什么

更新

1您运行的代码必须超过1行;请出示

请运行我给你的一小段代码,并报告结果。如果这样做有效,我们可以集中精力研究如何从哪个数据库中获取哪些数据[请也回答这个问题]

3请回答关于在Linux下显示中文的问题

<> P 4考虑看???unicode_文本通常是由unicode_文本生成的,而不是中文或其他字符。使用不适当的编码(例如,“ascii”)编码“某些_编码”、“替换”或其他具有相同意图的代码,可能前面有类似的解码。xlwt使用unicode_text.encode将unicode字符串存储在文件中;根据编码要求,它使用“拉丁1”或“utf_16le”,下一个参数使用“严格”,而不是“替换”。如果Excel向您显示???,则在将数据馈送到xlwt之前,数据可能已经被篡改。print reprcell告诉你什么

5如果使用相同的输入数据和相同的Python脚本运行相同版本的xlwt和Python,那么Linux的输出文件应该与Windows的输出文件完全相同。xlwt和Python版本的差异不太可能导致文件的不同。请比较我给你的简短脚本中的文件,使用二进制比较,例如,fc/b。。。在Windows命令提示窗口中。请说明在每个环境中使用的Python和xlwt的版本


< 6】请考虑切换到……这样,如果需要的话,您可以轻松地向我发送文件供我查看,我在发布新帖子时会收到电子邮件,而不必每隔一段时间轮询一个网站…

实际上,我将excel作为linux下生成的附件发送,并在windows下查看附件,它显示为,在windows下生成的文件还可以。现在在Linux上键入该小脚本,并将结果发送到windows。你看到了什么?我已经运行了你的脚本,它是好的。我认为这是cx_Oracle模块的一些问题。我使用cx_Oracle在窗口上从Oracle获取数据cx_Oracle是cx_Oracle_4.4.1.9ipython 2.5.2,python 2.5 xlwt-0.72,完全安装了10g Oracle,Linux上是cx_Oracle_5.0.3-11gpython 2.4.3,oracle-instantclient11.2-basic-11.2.0.1.0-1.i386所以我尝试用instantclient安装cx_oracle for 9i或10g,但错误报告:未定义的sysmbol:OCIDB关机在尝试安装cx_oracle的新版本之前,您认为可以进行一些简单的调试吗?为什么你认为这是cx_Oracle的问题?你检查过你从数据库中得到了什么吗?它是有效的big5文本吗?在设置NLS_LANG环境变量后,我已经解决了这个问题。无论如何,非常感谢你的建议。