在工作生活中,我们经常会接触各种Excel表格,有时需要对Excel数据进行处理,人工对大批量数据的重复操作费时又费力,所以不妨试试用Python帮你自动化完成重复的工作Python读取Excel文件使用的第三方模块有很多,常见的有:。
xlrd,读取Excel数据,兼容性好,支持.xls 及.xlsx ,如果想要写入/修改Excel,需要配合使用 xlwtxlwings,支持.xls 读取以及.xlsx 读写openpyxl,仅支持 Excel 2010之后的文件类型,支持读写.xlsx ,功能强大,缺点是不支持.xls
win32com,是 pywin32中的模块,支持.xls 及.xlsx 文件的读写pandas,非常强大的一个库,常用作数据分析,支持.xls 及.xlsx文件的读写进入正题,openpyxl 由于其强大的功能,因此有很多开发人员使用这个第三方库,下面就来看一下 openpyxl 如何读取Excel文件吧!
前提条件1、安装好 python 环境(本文版本3.10.7)2、安装 openpyxl 模块,pip install openpyxl读取Excel一个Excel文件打开后叫工作薄 workbook ,每个工作薄可以有多张表 worksheet ,每张表有行 row 和列 column ,行列交汇的格子叫单元格 cell。
导入模块from openpyxl import *打开文件wb = loadworkbook("文件.xlsx")获取所有工作表名称sheetnames = wb.sheetnames得到工作表对象ws = wb["工作表名称"]
得到行对象row = ws[2],表示第2行得到列对象col = ws[B],表示第2列得到单元格对象cell = ws["B2"]cell = ws.cell(row=2, column=2)得到指定区域对象
area = ws[2:5],第2行到第5行的区域area = ws[C:D],第C列到第D列的区域area = ws[A1:C3],左上角A1到右下角C3的区域单元格 cell 属性
获取最大行和最大列ws.maxrow 和 ws.maxcolumn简单示例代码:#导入模块from openpyxl import *def readexcelfile(filename):#打开xlsx,得到workbook对象wb = loadworkbook(filename)#获取所有sheet名sheetnames = wb.sheetnamesfor name in sheetnames:#得到worksheet对象ws = wb[name]#循环每一行for i in range(ws.maxrow):# for j in range(ws.maxcolumn):#每一行的第二列cell = ws.cell(row=i+1, column=2)print(cell.value)
readexcelfile("1.xlsx")
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。