pandas读取xlsx的问题如何解决呢,方法是什么
Admin 2022-09-08 群英技术资讯 293 次浏览
1、数据为中文内容,xlsx文件保存。
2、直接读取文件出错(Python报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 3……),将xlsx文件后缀保存为csv,仍出现格式问题(xlsx不能为多表,左下角可以切换多个窗口的那种),后**将xlsx文件另存为csv**解决此问题。
3、读取csv文件出现编码问题(UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb3 in position 0: invalid start byte),在读取文件时改编码content = pd.read_csv(‘news.csv’,encoding=‘gbk’)
Must explicitly set engine if not passing in buffer or path for io.
今天在用低版本的pandas==0.24.2时,读取xlsx文件报错。
pd.read_excel(xlsx_file_IO_string) # xlsx IO流
Must explicitly set engine if not passing in buffer or path for io.
查看了源代码,如果未指定engine,那么默认使用xlrd来读,而且我本地的xlrd==1.2.0,所以不存在xlrd版本问题。另外又尝试指定了engine=openpyxl,仍然不能解决读取xlsx文件错误的问题。确定是pandas版本过低导致的问题,有条件的可以升级pandas版本,没条件的继续往下看。
使用BytesIO对象,声明流为bytes类型,成功解决问题。
from pandas.io.common import BytesIO import pandas as pd pd.read_excel(BytesIO(content))) # 此处centent为你的xlsx文件内容
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python中in是什么意思?in在python中是成员运算符,如果在指定的序列中找到值返回 True,否则返回 False。
Pytorch的数据加载一般是用torch.utils.data.Dataset与torch.utils.data.Dataloader两个类联合进行。我们需要继承Dataset来定义自己的数据集类,然后在训练时用Dataloader加载自定义的数据集类。
这篇文章主要介绍了在python中设置柱状图参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
eval()函数是python中的内置函数,用于将字符串str当成有效的表达式来求值并返回计算结果。
这篇文章主要介绍了python使用OpenCV实现多目标跟踪,如何在OpenCV中使用MultiTracker类实现多目标跟踪API。在深入了解详细信息之前,请查看下面列出的关于目标跟踪的帖子,以了解在OpenCV中实现的单个目标跟踪器的基础知识,需要的朋友可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008