导语:
本文主要介绍了关于python如何打开excel文件的相关知识,包括python导出excel数据,以及python调用excel打开xls文件这些编程知识,希望对大家有参考作用。
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)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何生成文件夹12/27
- ♥ Python 是如何管理内存的?01/03
- ♥ Python中的魔术方法是什么09/19
- ♥ python如何调用自己的函数09/10
- ♥ 如何在批处理中执行 Python 程序11/09
- ♥ 如何在 spyder 上运行 python 文件?08/28
内容反馈