这篇文章给大家分享的是有关python打开excel文件的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。

读取Excel文件

需要导入相关函数

fromopenpyxlimportload_workbook#默认可读写,若有需要可以指定write_only和read_only为Truewb=load_workbook('pythontab.xlsx')默认打开的文件为可读写,若有需要可以指定参数read_only为True。

获取工作表--Sheet

#获得所有sheet的名称print(wb.get_sheet_names())#根据sheet名字获得sheeta_sheet=wb.get_sheet_by_name('Sheet1')#获得sheet名print(a_sheet.title)#获得当前正在显示的sheet,也可以用wb.get_active_sheet()sheet=wb.active

python学习网,免费的python学习网站,欢迎在线学习!

获取单元格

#获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行b4=sheet['B4']#分别返回print(f'({b4.column},{b4.row})is{b4.value}')#返回的数字就是int型#除了用下标的方式获得,还可以用cell函数,换成数字,这个表示B2b4_too=sheet.cell(row=4,column=2)print(b4_too.value)

b4.column返回B, b4.row返回4, value则是那个单元格的值。另外cell还有一个属性coordinate, 像b4这个单元格返回的是坐标B4。

获得最大行和最大列

获取行和列

sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。

sheet.columns类似,不过里面是每个tuple是每一列的单元格。

#因为按行,所以返回A1,B1,C1这样的顺序forrowinsheet.rows:forcellinrow:print(cell.value)#A1,A2,A3这样的顺序forcolumninsheet.columns:forcellincolumn:print(cell.value)

上面的代码就可以获得所有单元格的数据。如果要获得某行的数据呢?给其一个索引就行了,因为sheet.rows是生成器类型,不能使用索引,转换成list之后再使用索引,list(sheet.rows)[2]这样就获取到第二行的tuple对象。

forcellinlist(sheet.rows)[2]:print(cell.value)

感谢各位的阅读!关于python打开excel文件的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!