pandas读取中文xlsx文件出现的问题

目录
  • panda读取中文xlsx文件
  • 解决pandas读取xlsx时报错

panda读取中文xlsx文件

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’)

解决pandas读取xlsx时报错

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文件内容

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python使用pandas和xlsxwriter读写xlsx文件的方法示例

    python使用pandas和xlsxwriter读写xlsx文件 已有xlsx文件如下: 1. 读取前n行所有数据 # coding: utf-8 import pandas as pd # 1. 读取前n行所有数据 df = pd.read_excel('school.xlsx')#读取xlsx中第一个sheet data1 = df.head(7) # 读取前7行的所有数据,dataFrame结构 data2 = df.values #list形式,读取表格所有数据 print("获取到所

  • 关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题

    问题描述 使用pandas库的read_excel()方法读取外部excel文件报错, 截图如下 好像是缺少了什么方法的样子 问题分析 分析个啥, 水平有限, 直接面向stackoverflow编程 https://stackoverflow.com/questions/64264563/attributeerror-elementtree-object-has-no-attribute-getiterator-when-trying 我找到了下面的这几种说法 根据国外大神的指点, 我得出了这些

  • python使用pandas读xlsx文件的实现

    目录 使用pandas读xlsx文件 数据:d1.xlsx 运行结果展示 使用pandas读xlsx文件 读取前n行数据 读取指定数据(指定行指定列) 获取文件行号和列标题 将数据转换为字典形式 import pandas as pd #1.读取前n行所有数据 df1=pd.read_excel('d1.xlsx')#读取xlsx中的第一个sheet data1=df1.head(10)#读取前10行所有数据 data2=df1.values#list[] 相当于一个矩阵,以行为单位 #data

  • pandas读取中文xlsx文件出现的问题

    目录 panda读取中文xlsx文件 解决pandas读取xlsx时报错 panda读取中文xlsx文件 1.数据为中文内容,xlsx文件保存. 2.直接读取文件出错(Python报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 3……),将xlsx文件后缀保存为csv,仍出现格式问题(xlsx不能为多表,左下角可以切换多个窗口的那种),后**将xlsx文件另存为csv**解决此问题. 3.读取csv文件

  • 对pandas读取中文unicode的csv和添加行标题的方法详解

    pandas这个库就是这么智能.有了dateframe格式一切都好办了.相比csv库对中文支持就渣了. reader = pd.read_csv(leg2CsvReadFile, delimiter="," ,header=0,encoding = "gbk") header=None 即指明原始文件数据没有列索引,这样read_csv为自动加上列索引,除非你给定列索引的名字. obj_2=pd.read_csv('f:/ceshi.csv',header=0,na

  • pandas 读取各种格式文件的方法

    pandas 读取各种格式文件: 前置工序: import pandas as pd csv 文件读取中文错误处理: utf-8 codec can't decode .... pd.read_csv('c:/mydata/jit.csv',encoding='gb18030') sql 读取: import pymysql conn=pymysql.connect(host='127.0.0.1', user='root', passwd='root', db=' employee') sql

  • 利用pandas读取中文数据集的方法

    直接利用numpy读取非数字型的数据集时需要先进行转换,而且python3在处理中文数据方面确实比较蛋疼.最近在学习周志华老师的那本西瓜书,需要没事和一堆西瓜反复较劲,之前进行联系的时候都是利用批量替换先清理一遍数据,不过这样实在是太麻烦了,今天偶然发现可以使用pandas来实现读取中文数据集的功能. 首先分享一下数据集: 编号,色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率,好瓜 1,青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,是 2,乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.7

  • Python Pandas读取csv/tsv文件(read_csv,read_table)的区别

    目录 前言 read_csv()和read_table()之间的区别 读取没有标题的CSV 读取有标题的CSV 读取有index的CSV 指定(选择)要读取的列 跳过(排除)行的读取 skiprows skipfooter nrows 通过指定类型dtype进行读取 NaN缺失值的处理 读取使用zip等压缩的文件 tsv的读取 总结 前言 要将csv和tsv文件读取为pandas.DataFrame格式,可以使用Pandas的函数read_csv()或read_table(). 在此 read_

  • 利用Pandas读取文件路径或文件名称包含中文的csv文件方法

    利用Pandas的read_csv函数导入数据文件时,若文件路径或文件名包含中文,会报错,无法导入: import pandas as pd df=pd.read_csv('E:/学习相关/Python/数据样例/用户侧数据/账单.csv') 解决方法如下: import pandas as pd f=open('E:/学习相关/Python/数据样例/用户侧数据/账单.csv') df=pd.read_csv(f) 以上这篇利用Pandas读取文件路径或文件名称包含中文的csv文件方法就是小编

  • 解决pandas read_csv 读取中文列标题文件报错的问题

    从windows操作系统本地读取csv文件报错 data = pd.read_csv(path) Traceback (most recent call last): File "C:/Users/arron/PycharmProjects/ML/ML/test.py", line 45, in <module> data = pd.read_csv(path) File "C:\Users\arron\AppData\Local\Continuum\Anacon

  • 解决pandas中读取中文名称的csv文件报错的问题

    之前在使用Pandas处理csv文件时,发现如果文件名为中文,则会报错: OSError: Initializing from file failed 后来在一位博主的博客中解释了是read_csv中engine参数的问题,默认是C engine,在读取中文标题时有可能会出错(在我这是必现),解决方法是将engine换为Python(官方文档的说法是C engine更快但是Python engine功能更完备),具体写法: df.read_csv('filename', engine='pyth

  • pandas读取excel,txt,csv,pkl文件等命令的操作

    pandas读取txt文件 读取txt文件需要确定txt文件是否符合基本的格式,也就是是否存在\t,,,等特殊的分隔符 一般txt文件长成这个样子 txt文件举例 下面的文件为空格间隔 1 2019-03-22 00:06:24.4463094 中文测试 2 2019-03-22 00:06:32.4565680 需要编辑encoding 3 2019-03-22 00:06:32.6835965 ashshsh 4 2017-03-22 00:06:32.8041945 eggg 读取命令采用

  • pandas 读取excel文件的操作代码

    目录 一 read_excel() 的基本用法 二 read_excel() 的常用的参数: 三 示例 1. IO:路径 2. sheet_name:指定工作表名 3. header :指定标题行 4. names: 指定列名 5. index_col: 指定列索引 6. skiprows:跳过指定行数的数据 7. skipfooter:省略从尾部的行数据 8.dtype 指定某些列的数据类型 一 read_excel() 的基本用法 import pandas as pd file_name

随机推荐