鱼C论坛

 找回密码
 立即注册
查看: 2320|回复: 2

[已解决]pandas read_excel读取很老的xls文件乱码

[复制链接]
发表于 2023-2-7 21:00:28 | 显示全部楼层 |阅读模式
50鱼币
import pandas as pd

print(pd.read_excel('分析表.xls' , engine='xlrd'))

由于是很老的系统生成的xls了,用excel打开没有问题,用pandas打开就报错,指定engine之后能够读出来。但是很多乱码。
xlrd的版本是1.2.0
运行后的信息:
*** No CODEPAGE record, no encoding_override: will use 'iso-8859-1'
   ×éÖ¯|±àÂë               ×éÖ¯|Ãû³Æ  ...  ÍŹº|²»º¬Ë°Ã«Àû ÍŹº|ëÀûÂÊ(%)
0    3212145  Ì©Öݾ¸½­Í¨½­Â·Õ¾±ãÀûµê  ...           334.13          55.18
1    3212145  Ì©Öݾ¸½­Í¨½­Â·Õ¾±ãÀûµê  ...           726.52          48.75

用excel打开之后直接保存,再用pandas打开就没有问题。

尝试过用xlutils.copy复制另存为之后再读取也没成功

各路大神能够直接用pandas读取到数据吗?或者调用excel使文件保存后再读取?
文件在附件里面
最佳答案
2023-2-7 21:00:29
本帖最后由 isdkz 于 2023-2-7 21:44 编辑

  1. import xlrd
  2. import pandas as pd

  3. wb = xlrd.open_workbook('分析表.xls', encoding_override='gbk')
  4. df = pd.read_excel(wb)
  5. print(df)
复制代码

分析表.zip

1.83 KB, 下载次数: 1

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 21:00:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2023-2-7 21:44 编辑

  1. import xlrd
  2. import pandas as pd

  3. wb = xlrd.open_workbook('分析表.xls', encoding_override='gbk')
  4. df = pd.read_excel(wb)
  5. print(df)
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 21:40:40 | 显示全部楼层

NB,用这个一参数就解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-7 05:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表