首页 » 信息技术 »

用openpyxl遍历excel表格

2019年4月4日 / 145次阅读
Python

  • 打开支付宝,搜索“ 529018372 ”,领取专属红包!每日支付每日领。

Python的openpyxl模块,提供了对excel表格的读写操作接口。本文介绍使用openpyxl来遍历excel表格。

openpyxl支持Excel 2010 xlsx/xlsm/xltx/xltm files,官网:https://openpyxl.readthedocs.io

表格就是由一些行和列的组成,按照程序员的思路,遍历一个表格,就是一个两重循环。不过,在遍历excel表格的时候,程序员会面对一个问题,即表格的有效内容,是从第几行开始,到第几行结束,对于列也是这个问题,程序预先不应该知道开始的列和结束的列,而且如果中间还有空行和空列,就更麻烦了。

openpyxl帮助我们解决了这个问题,看代码:

from openpyxl import load_workbook
wb = load_workbook(filename='large_file.xlsx', read_only=True)
ws = wb['big_data']

for row in ws.rows:
    for cell in row:
        print(cell.value)

用只读模式打开一个xlsx文件,选择big_data这个sheet,然后就开始遍历,不管开始的行列和中间的空行列。语义非常自然优美,延续了python的优良传统。

关于excel表格的开始行和结束列,我们可以深入一点点。openpyxl官网有一段关于这个问题的介绍:

Worksheet dimensions

Read-only mode relies on applications and libraries that created the file providing correct information about the worksheets, specifically the used part of it, known as the dimensions. Some applications set this incorrectly. You can check the apparent dimensions of a worksheet using ws.calculate_dimension(). If this returns a range that you know is incorrect, say A1:A1 then simply resetting the max_row and max_column attributes should allow you to work with the file:

ws.reset_dimensions()

打开excel表格后,检查worksheet dimensions,如果不对,就reset,openpyxl自动寻找开始行和结束列。所以,应用程序可以总是调用一次reset_dimensions函数,来确保后面代码的正确执行。

本文链接:https://www.maixj.net/ict/openpyxl-xlsx-20863

相关文章

留言区


前一篇:
后一篇:
推一篇:可靠正规,长期稳定,网络兼职项目!!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top