python如何处理excel
Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢?答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。
pipinstallopenpyxl安装。
读取Excel文件
需要导入相关函数
fromopenpyxlimportload_workbook
#默认可读写,若有需要可以指定write_only和read_only为True
wb=load_workbook('pythontab.xlsx')
默认打开的文件为可读写,若有需要可以指定参数read_only为True。
获取工作表--Sheet
#获得所有sheet的名称
print(wb.get_sheet_names())
#根据sheet名字获得sheet
a_sheet=wb.get_sheet_by_name('Sheet1')
#获得sheet名
print(a_sheet.title)
#获得当前正在显示的sheet,也可以用wb.get_active_sheet()
sheet=wb.active
获取单元格
#获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行
b4=sheet['B4']
#分别返回
print(f'({b4.column},{b4.row})is{b4.value}')#返回的数字就是int型
#除了用下标的方式获得,还可以用cell函数,换成数字,这个表示B2
b4_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,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python输入数字变成月份
python输入数字变成月份1、思路说明可计算给定区间的时间差,即两者之间共包含几个月。然后由第一个月(开始时间)逐渐累积,最后得到给定时间区...详情>>
2023-11-08 17:57:59python怎么处理字符编码问题
python中可以使用base64来处理字符编码问题,Base64是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe、jpg、pdf这些文件时,我们...详情>>
2023-11-08 17:11:19python怎么将图片转换成base64编码
该模块提供了基于rfc3548的Base16,32,64编解码的接口。该模块提供两套接口,传统接口基于rfc1521的Base64,当前接口基于rfc3548的Base16/32/64...详情>>
2023-11-08 16:24:33pythonif语句怎么写
if语句是python中常见的条件判断语句,我们先要知道它的运行原理,才能更好的使用它。Python程序语言指定任何非0和非空(null)值为true,0或者nu...详情>>
2023-11-08 16:14:27