知行编程网知行编程网  2022-08-25 21:30 知行编程网 隐藏边栏  600 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何打开excel文件的相关知识,包括python导出excel数据,以及python调用excel打开xls文件这些编程知识,希望对大家有参考作用。

如何在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)
# 获得当前正在显示的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 是该单元格的值。另外,单元格还有一个属性坐标,像b4这样的单元格返回坐标B4。


获得行和列

获取行和列

sheet.rows 是一个生成器,其中包含每一行的数据,每一行都被一个元组包裹。

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(sheet.rows)[2] 这样就得到了 tuple 对象第二行。

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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享