excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Python按单元格读取复杂电子表格(Excel)数据实践

Python读取电子表格方法

本文所使用电子表格的目标是读取、解析来自Excel编制的数据报表,或者软件界面导出的数据报表,这类电子表格报表显著特点是有一定的格式,且数据位置不连续,而非标准二维数据表。

关于电子表格,比较常见的有微软Office Excel、WPS Office、Open Office、LibreOffice、永中Office等等,这些软件关于电子表格定义相近,文件格式兼容MS Excel标准。

一个电子表格文档(Excel)称为一个工作簿

一个工作簿保存在一个扩展名为XLS(.xlsx)的文件中

一个工作簿可以包含多个表(sheet)

在特定行和列的方格称为单元格、格子

对于文件格式XLS、XLSX,简单来说:

XLS是excel2003及以前版本所生成的文件格式

XLSX是excel2007及以后版本所生成的文件格式

Python对excel文件的读写功能的模块有以下三种:

xlwt:对 xls 格式的 Excel 文件进行写入;

xlrd:对 xls 格式的 Excel 文件进行读取;

OpenpPyXL 实现了对 xlsm 、xlsx 开放电子表格格式的读写。

另外,Pandas也能实现了对Excel读写,例如read_excel()和to_excel(),直接读取数据到DataFrame中。

首先,安装第三方包xlrd和xlwt(如果已经安装,则略过):

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwt

原始数据

原始数据是来自接口方提供XLS格式数据,内容如下图所示,由程序生成而导出的数据(为什么会这样,历史原因不予分析),虽然行、列对应不清晰,但是总体上还是有规律的,日报表的每日内容格式基本一致,针对数据行数变化需要特殊解析处理。

没有好办法,标记上顺序数字,逐个查数定位!

实践代码示例

代码中关键API函数解释:

打开XLS工作薄:

workbook = xlrd.open_workbook(filename)

三种方式获取工作表

table = workbook.sheet_by_index(0),按索引顺序

table = workbook.sheets()[0]

table = workbook.sheet_by_name(‘日报表202110-202210’),按sheet名称

读取单元格数据:

value = table.cell_value(rowx=2, colx=0),rowx,colx分别是行、列索引数(注意:从0开始)

总结

Python按单元格读取复杂电子表格(Excel)数据技术上比较成熟,易操作。需要注意事项:

由于数据文件来自第三方,可能存在编码问题(中文乱码),最好拿到手后,在文件处理的系统上,再另存新文件(本次工作,就是遇到类似问题,花费变天时间也没有解决编码转换或者加密问题,简单的另存解决。

数据处理过程,还是使用pandas更加专业。

参考:

华仔仔coding. 利用Python第三方库xlrd读取Excel中数据实例代码. 脚本之家. 2022.07

lainwith. python实现——处理Excel表格(超详细). CSDN博客. 2021.10

肖永威. Pandas高级数据分析快速入门之二——基础篇. CSDN博客. 2021.08

————————————————

版权声明:本文为CSDN博主「肖永威」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xiaoyw71/article/details/128040968

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接