Python打开及读取Excel表格 Excel表格的基本术语

首页 » Python教程 » Python打开及读取Excel表格 Excel表格的基本术语

Excel表格基本术语

一张图明白所有Excel术语:

Python打开及读取Excel表格 Excel表格的基本术语

打开及读取表格数据

使用load_workbook(filename=表格文件路径)可以打开已经存在的Excel表格,不能使用该方法创建表格。支持的格式有:.xlsx、.xlsm、.xltx、.xltm

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
print(workbook.sheetnames) # 获取表格文件的sheet名称

注意Excel表格的文件类型为xlsx

通过sheet名称获取表格

在book.xlsx表格的sheet1中添加一些内容,通过wordbook[sheet名称]来获取表格,可以获取表格的尺寸大小,不能单独打印表格:

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
print(workbook.sheetnames) # 获取表格文件的sheet名称
sheet1=workbook['Sheet1']
# print(sheet1) # 不能单独打印表格
print(sheet1.dimensions)

['Sheet1', 'Sheet2', 'Sheet3']
A1:B5

注意Sheet1表格的名称,开头是大写的,不然就会报错:KeyError: ‘Worksheet sheet1 does not exist,表格的大小,从左上角开始,到右下角结束!

获取表格内某个格子的数据

获取A1格子的数据:

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active # 打开活跃的/唯一的表格
cell=sheet['A1']
print(cell.value)

获取某个格子的行数、列数、坐标

通过cell.row,cell.column,cell.coordinate的方式获取格子的行数、列数、坐标:

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
cell=sheet['B5']
print(cell.row,cell.column,cell.coordinate) # 行数、列数、坐标

可用行数和列数定位某个格子

使用sheet.cell(row=行数,column=列数)的方式:

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
cell=sheet.cell(row=1,column=2) # 获取第一行第二例的格子
print(cell.value,cell.row,cell.column,cell.coordinate)

获取一系列格子

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
cells=sheet['A1:B5']
print(cells)

# ((<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>), (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>), (<Cell 'Sheet1'.A3>, 
# <Cell 'Sheet1'.B3>), (<Cell 'Sheet1'.A4>, <Cell 'Sheet1'.B4>), (<Cell 'Sheet1'.A5>, <Cell 'Sheet1'.B5>))

返回的是一个元组,可以使用sheet[‘A’]获取A列,使用sheet[‘A:B’]获取A列和B列,使用sheet[‘1:2’]获取第一行到第二行,具体效果不在演示。

指定行和列的范围

按行获取使用iter_rows(min_row=最低行数,max_row=最高行数,min_col=最低列数,max_col=最高列数)

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
# 最小行为1,最大行为5,最小列为1,最大列为2
for row in sheet.iter_rows(min_row=1,max_row=5,min_col=1,max_col=2):
    print(row)
# (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>)
# (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>)
# (<Cell 'Sheet1'.A3>, <Cell 'Sheet1'.B3>)
# (<Cell 'Sheet1'.A4>, <Cell 'Sheet1'.B4>)
# (<Cell 'Sheet1'.A5>, <Cell 'Sheet1'.B5>)

按列获取使用iter_cols(min_row=最低行数,max_row=最高行数,min_col=最低列数,max_col=最高列数)

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
for col in sheet.iter_cols(min_row=1,max_row=5,min_col=1,max_col=2):
    print(col)
# (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.A2>, <Cell 'Sheet1'.A3>, <Cell 'Sheet1'.A4>, <Cell 'Sheet1'.A5>)
# (<Cell 'Sheet1'.B1>, <Cell 'Sheet1'.B2>, <Cell 'Sheet1'.B3>, <Cell 'Sheet1'.B4>, <Cell 'Sheet1'.B5>)

迭代整个表格的所有行

from openpyxl import load_workbook
workbook=load_workbook(filename='C:\\Users\\Administrator\\Desktop\\book.xlsx')
sheet=workbook.active
for row in sheet.rows:
    print(row)
# (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>)
# (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>)
# (<Cell 'Sheet1'.A3>, <Cell 'Sheet1'.B3>)
# (<Cell 'Sheet1'.A4>, <Cell 'Sheet1'.B4>)
# (<Cell 'Sheet1'.A5>, <Cell 'Sheet1'.B5>)

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Python打开及读取Excel表格 Excel表格的基本术语》 发布于2020-05-16

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

8 + 6 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册