采用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

相关文章

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo