python培训之如何处理excel

发布时间:2022-10-09 10:00:16 人气:140 作者:多测师

  Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢?答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。

  pip install openpyxl安装。

  读取Excel文件

  需要导入相关函数

  from openpyxl import load_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)

python培训之如何处理excel

  # 获得当前正在显示的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这样的顺序

  for row in sheet.rows:

  for cell in row:

  print(cell.value)

  # A1, A2, A3这样的顺序

  for column in sheet.columns:

  for cell in column:

  print(cell.value)

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

  for cell in list(sheet.rows)[2]:

  print(cell.value)

  以上内容为大家介绍了python培训之如何处理excel,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线