xue11 发表于 2020-5-11 21:44:27

求助使用openpyxl如何读取EXCEL中带箭头的符号

import openpyxl



wb = openpyxl.load_workbook('demo1.xlsx')
ws = wb['Sheet1']
for i in ws.iter_rows(min_row=2):
    print(i.value)



使用以上代码读取Excel中A2,A3单元格的值,但是A2读取显示为   Y_x001A_O_x0018_?   
与原来单元格值 YO?   不一致,猜测可能是编码问题;现在想让读取后与Excel表中数据一致,一直未找到使用这个库读取的解决方法,特求助各位。


Excel数据(10.JPG)


读取后显示数据(11.JPG)

txxcat 发表于 2020-5-11 21:44:28

xue11 发表于 2020-5-12 21:22
怎么会是这样,那有没有什么库是读取后显示的值与表格中一致的?

没有任何库能把非标准字符显示出来,所以说无解。建议尽量使用标准字符,例如:→↑

txxcat 发表于 2020-5-11 22:35:13

这个问题恐怕无解,这个实际上不是编码的问题,而是字体的问题,office系列软件的功能比较强大,比如excel中你可以为你可以为单元格中的每个字符设立各自独立的字体,而显示一些特别的字符,比如你表中那两个箭头,它们都不是标准字体能显示出来的,但是对于第三方的excel工具,没有一个能强大到这个地步,只能对单元格做统一的字体设置,对于这些特殊的字符,没办法显示出来,只能显示出各自的编码了。
>>> a='YO'
>>> a
'\x1a'
>>> a
'\x18'

永恒的蓝色梦想 发表于 2020-5-11 22:53:37

我认为楼上说的是正确的。

xue11 发表于 2020-5-12 21:22:17

txxcat 发表于 2020-5-11 22:35
这个问题恐怕无解,这个实际上不是编码的问题,而是字体的问题,office系列软件的功能比较强大,比如excel ...

怎么会是这样,那有没有什么库是读取后显示的值与表格中一致的?

rsj0315 发表于 2020-5-12 22:41:28

研究的方向挺野啊
页: [1]
查看完整版本: 求助使用openpyxl如何读取EXCEL中带箭头的符号