Pandas 读取超过 65536 行的 Excel 文件

Excel 文件的格式曾经发生过一次变化,在 Excel 2007 以前,使用扩展名为 .xls 格式的文件,这种文件格式是一种特定的二进制格式,最多支持 65,536 行,256 列表格。从 Excel 2007 版开始,默认采用了基于 XML 的新的文件格式 .xlsx ,支持的表格行数达到了 1,048,576,列数达到了 16,384。需要注意的是,将 .xlsx 格式的文件转换为 .xls 格式的文件时,65536 行和 256 列之后的数据都会被丢弃。

Pandas 读取 Excel 文件的引擎是 xlrd , xlrd 虽然同时支持 .xlsx 和 .xls 两种文件格式,但是在源码文件 xlrd/sheet.py 中限制了读取的 Excel 文件行数必须小于 65536,列数必须小于 256。

这就导致,即使是 .xlsx 格式的文件, xlrd 依然不支持读取 65536 行以上的 Excel 文件

openpyxl 是一个专门用来操作 .xlsx 格式文件的 Python 库,和 xlrd 相比它对于最大行列数的支持和 .xlsx 文件所定义的最大行列数一致。

首先安装 openpyxl :

pip install openpyxl

Pandas 的 read_excel 方法中,有 engine 字段,可以指定所使用的处理 Excel 文件的引擎,填入 openpyxl ,再读取文件就可以了。

import pandas as pd

df = pd.read_excel(‘./data.xlsx’, engine=’openpyxl’)

print(len(df))  # 160000

原文:https://www.lizenghai.com/archives/29883.html

原文地址:https://www.cnblogs.com/zwp-627/p/11751277.html

时间: 2024-08-29 12:09:29

Pandas 读取超过 65536 行的 Excel 文件的相关文章

解决java poi导出excel2003不能超过65536行的问题

java poi在导出数据到excel2003工作表中时一个工作表只能存储65536行数据,如果超过这个数据就会失败,excel2007并没有这个问题,但是为了兼容性我们通常都是导出到2003版本上的. 1.导出成xlsx格式. 2.达到某个数值就再创建一张工作表. /** * 如果达到50000条数据则重新创建工作表的逻辑 */ @Override public void exportExcel(List<HolidayItemForm> formList, ServletOutputStr

NPOI 2.0 读取、编辑、保存Excel文件

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; namespace ReadExcel { class Program { static void Main(string[] args) { //要操作的excel文件路径 string

利用os和pandas来合并当前目录下所有excel文件

#1.引入模块 import os import pandas as pd #2.取出指定目录下的全部excel文件路径 path="C:\\TEST" dirlist=[] for dirpath,dirname,filename in os.walk(path): for i in filename: dirlist.append(os.path.join(dirpath,i)) #3.创建一个df对象列表,并进行合并操作 dflist=[] for i in dirlist: d

java poi 读取有密码加密的Excel文件

String excelPath = "Excel文件路徑"; String password = "Excel文件密碼"; Workbook workbook; InputStream inp = new FileInputStream(excelPath); //解密 POIFSFileSystem pfs = new POIFSFileSystem(inp); inp.close(); EncryptionInfo encInfo = new Encrypti

Pandas库10_存取json和excel文件

#json文件:javascript object notationimport numpy as npimport pandas as pd t_data={ "name":["唐浩","小王","老王","赵三","李四","王姐"], "sex":["男","女","男","

python读取txt、csv和excel文件

一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.close() for line in lines: username = line.split(',')[0] password = line.split(',')[1] 注:第一句是以只读方式打开文本文件:第二个是读取所有行的数据(read:读取整个文件:readline:读取一行数据):最后一定要关

java 读取pdf、word、Excel文件

用到的jar: itextpdf-5.5.8.jar   (PDF) poi.jar public class FileUtils { /** * 判断文件是否存在 * * @Title: isExcite * @param @param filePath * @param @return * @return boolean 返回类型 * @throws */ public static boolean isExcite(String filePath) { File file = new Fi

使用Apache下poi创建和读取excel文件

一:使用apache下poi创建excel文档 1 @Test 2 /* 3 * 使用Apache poi创建excel文件 4 */ 5 public void testCreateExcel() { 6 // 1:创建一个excel文档 7 HSSFWorkbook workbook = new HSSFWorkbook(); 8 // 2:创建一个sheet工作表,名为“学生成绩” 9 HSSFSheet sheet = workbook.createSheet("学生成绩");

python读写excel文件

一.概述 Python操作excel的三个工具包如下,注意,只能操作.xls,不能操作.xlsx. xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 这三个工具包都可以直接使用pip进行下载: sudo pip install xlrdsudo pip install xlwtsudo pip install xlutils 二.使用xlrd模块读取已有的excel文件内容 xlrd是用来从一个excel文件中读取内容的