python如何读取excel:主流方法实操对比
python如何读取excel,主流可用三种库,分别是openpyxl、pandas、xlrd,其中openpyxl适配xlsx格式、支持读写编辑、兼容性稳定,pandas适合批量数据读取与数据分析,xlrd仅支持旧版xls格式、新版本已舍弃xlsx读取能力;日常办公轻量化读取优先选openpyxl,大数据批量处理优先选pandas,老旧文件适配场景可使用xlrd,三种方法均适配Windows、Mac主流系统,仅xlrd存在明确的格式版本限制。
python读取excel核心库对比
不同Python读取Excel的库适配场景、性能、格式支持差异较大,通过表格可直观区分选型标准,方便你根据文件格式和使用需求快速选择。
| 工具库 | 支持格式 | 核心优势 | 适用场景 |
|---|---|---|---|
| openpyxl | xlsx、xlsm | 支持读写、保留表格格式、轻量稳定 | 日常精准读取、局部修改表格 |
| pandas | xlsx、xls、csv | 读取速度快、自带数据清洗功能 | 大数据量、数据分析、批量导出 |
| xlrd | 仅xls(旧版) | 安装简单、旧文件读取稳定 | 老旧excel文件专属读取 |
openpyxl读取excel实操步骤
你首先需要在终端执行安装命令pipinstallopenpyxl,完成库的部署,该库无需额外依赖,安装成功率较高。安装完成后,可通过基础代码读取表格所有工作表、指定工作表数据,代码运行后可直接获取单元格数值、行列数据。
基础读取代码可实现精准读取指定工作表,你只需替换文件路径和工作表名称即可使用。核心代码逻辑为导入库、加载Excel文件、选中工作表、遍历行列输出数据,加载文件时默认只读模式,能有效降低大文件的内存占用。该方式读取数据会保留表格原始空行、空单元格状态,适配需要精准还原表格原貌的场景。
仅能读取2007版及以上的xlsx格式文件,无法解析后缀为xls的老旧Excel文件,这是该工具的固定适用边界。
pandas读取excel实操步骤
pandas读取Excel需要搭配引擎库使用,单独安装pandas无法读取表格文件,你需要执行pipinstallpandasopenpyxl完成安装,新版pandas默认依赖openpyxl解析xlsx文件。该方法代码极简,一行代码即可读取整个工作表数据并转为结构化数据表。
你使用pd.read_excel()函数可直接读取文件,默认读取表格首个工作表,设置sheet_name参数可指定任意工作表名称或序号。读取后的数据为DataFrame格式,自带筛选、排序、统计功能,适合读取后直接做数据处理,万行级表格读取速度明显优于openpyxl。
该方法会自动忽略表格多余空行和空白单元格,无法精准还原原始表格格式,不适合需要精准读取单元格位置、保留表格样式的场景。
xlrd读取excel实操步骤
xlrd仅可用于读取2003版及以下xls文件,新版xlrd3.0及以上已经彻底移除xlsx解析功能,你需要安装适配旧版本的库,执行pipinstallxlrd==1.2.0即可正常使用。
读取逻辑为打开文件、获取工作表、读取单元格数据,代码简洁轻量化,对老旧设备的运行内存占用极低。该库仅支持只读模式,无法编辑和写入Excel数据,功能单一,仅作为老旧文件适配的备用方案。
读取excel常见报错处理
文件路径错误是最高频报错,中文路径、带空格路径容易触发解析失败,统一使用绝对路径可有效规避该问题。
文件占用报错,Excel文件处于打开状态时,Python无法读取写入,关闭电脑端的Excel窗口即可恢复正常读取。
格式不匹配报错,用openpyxl读取xls、用新版xlrd读取xlsx,都会直接运行失败,严格按照文件后缀匹配对应工具库即可解决。
