采用xlrd和openpyxl库读取excel文件

2023-12-17 13:04

本文主要是介绍采用xlrd和openpyxl库读取excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        最近给客户线上平台做一个数据同步功能,客户从其它业务系统每日导出excel表,可能是xlsx,也可能是xls,字段格式是固定的,其中一个环节就是要先读取这些excel表数据,其它环节自然比excel读取复杂,但是都是业务逻辑,这里不描述,单记录一下excel读取问题。

        调研之后发现,当前的高版本库,xlrd只支持xls格式文件,而openpyxl则支持xlsx文件,于是做了一个兼容,程序支持两种格式的excel文件读取。代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os.path
import sys
import openpyxl
import xlrddef read_xlsx(filename: str):workbook = openpyxl.load_workbook(filename)worksheet = workbook.worksheets[0]i = 0for row in worksheet.iter_rows(values_only=True):i += 1if i > 1:# 如果是真实业务程序代码, 这里常常会创建一个业务对象进行赋值print(row)def read_xls(filename: str):wb = xlrd.open_workbook(filename=filename)table = wb.sheets()[0]row_count = table.nrowscol_count = table.ncolsfor i in range(row_count):if i == 0:continue# 如果是真实业务程序代码, 这里常常会创建一个业务对象进行赋值for j in range(col_count):print(table.cell_value(i, j))def read_excel(filename: str):if not os.path.isfile(filename):print('%s is not existed!' % filename)returnif filename.endswith('.xlsx'):read_xlsx(filename)elif filename.endswith('.xls'):read_xls(filename)else:print('invalid file type of excel: ', filename)def usage():print('usage: ./excel_reader.py [excel文件路径]')def main():if len(sys.argv) < 2:usage()else:read_excel(sys.argv[1])if __name__ == '__main__':main()

        运行: python3 ./excel_reader.py ./test.xlsx,  程序会报错,需要xlrd库和openpyxl库,于是我们需要安装这两个库:

pip install xlrd

pip install openpyxl

pip list 

        之后再运行应该就可以正常读取excel数据了。

 

这篇关于采用xlrd和openpyxl库读取excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504455

相关文章

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

使用Python实现高效复制Excel行列与单元格

《使用Python实现高效复制Excel行列与单元格》在日常办公自动化或数据处理场景中,复制Excel中的单元格、行、列是高频需求,下面我们就来看看如何使用FreeSpire.XLSforPython... 目录一、环境准备:安装Free Spire.XLS for python二、核心实战:复制 Exce

pandas批量拆分与合并Excel文件的实现示例

《pandas批量拆分与合并Excel文件的实现示例》本文介绍了Pandas中基于整数位置的iloc和基于标签的loc方法进行数据索引和切片的操作,并将大Excel文件拆分合并,具有一定的参考价值,感... 目录一、Pandas 进行索引和切编程片的iloc、loc方法二、Pandas批量拆分与合并Exce

在C#中读取文件的六种主流方法详解

《在C#中读取文件的六种主流方法详解》在C#中读取文件有多种方法,不同方式适用于不同场景(小型文件、大型文件、文本文件或二进制文件),本文给大家介绍了6种主流方法以及其适用场景,需要的朋友可以参考下... 目录方法1:File.ReadAllText(读取整个文本文件)方法2:File.ReadAllLin

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Java轻松实现在Excel中插入、提取或删除文本框

《Java轻松实现在Excel中插入、提取或删除文本框》在日常的Java开发中,我们经常需要与Excel文件打交道,当涉及到Excel中的文本框时,许多开发者可能会感到棘手,下面我们就来看看如何使用J... 目录Java操作Excel文本框的实战指南1. 插入Excel文本框2. 提取Excel文本框内容3