打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python 操作 Excel 教程(4)| 如何获取 Excel 工作表的行列属性?

前面我们说到,使用代码控制 Excel,其实也是将其作为一个对象,来改变它的属性值,达到我们想要的效果;今天我们先来学习另外的 Excel 对象,行row和列column


01 读取工作表的最大行列数

首先引入我们要使用的函数

from openpyxl import load_workbook

然后获取当前工作表对象

wb = load_workbook(r'd:\Demo\Demo.xlsx')
ws = wb.active

Openpyxl 中,每一个工作表对象具有 2 个属性:max_rowmax_column,来获取使用的工作表范围的最大行数和列数;我们将其保存到相应的变量中,输出查看

from openpyxl import load_workbook

wb = load_workbook(r'd:\Demo\Demo.xlsx')
ws = wb.active

row_max = ws.max_row
col_max = ws.max_column

print(row_max)
print(col_max)

# 输出:
# 6
# 5

表明我们的内容有5行,6

如果我们数据中间空了 1 行或者 1 列,那么就会将最下面的那一行(列)看做最终行(列)

# 输出:
# 7
# 5

02 调整工作表的行高列宽

工作表对象的row_dimensionscolumn_dimensions 属性可以方便的调节行高列宽,将行号和列符传入,设置行高列宽数值,注意行高在:0-409,列宽在 0-255 之间

from openpyxl import load_workbook

wb = load_workbook(r'd:\Demo\Demo.xlsx')
ws = wb.active

ws.row_dimensions[1].height = 50
ws.column_dimensions['C'].width = 70

wb.save(r'd:\Demo\Demo.xlsx')

03 读取整行或列的数据

我们可以使用for循环遍历表格的行或列,然后将其生成到列表中

from openpyxl import load_workbook

wb = load_workbook(r'd:\Demo\Demo.xlsx')
ws = wb.active

for row in ws.rows:
    i = [i.value for i in row]
    print(i)

# 输出
'''
['序号', '姓名', '年龄', '班级', '分数']
[1, '郭靖', 13, '1班', 78]
[2, '黄蓉', 17, '1班', 90]
[3, '令狐冲', 23, '2班', 67]
[4, '任盈盈', 14, '3班', 89]
[5, '东方不败', 34, '3班', 97]
'''

或者

from openpyxl import load_workbook

wb = load_workbook(r'd:\Demo\Demo.xlsx')
ws = wb.active

for col in ws.columns:
    i = [i.value for i in col]
    print(i)

# 输出
'''
['序号', 1, 2, 3, 4, 5]
['姓名', '郭靖', '黄蓉', '令狐冲', '任盈盈', '东方不败']
['年龄', 13, 17, 23, 14, 34]
['班级', '1班', '1班', '2班', '3班', '3班']
['分数', 78, 90, 67, 89, 97]
'''


今天的教程,主要学习了:如何读取已使用的单元格范围的行列数,以及调整行高列宽,同时还按行或列读取了数据;大家都学会了吗?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python如何实现Excel的最合适列宽(openpyxl)
Python处理Excel数据
UC头条:PythonExcel文件
python+openpyxl创建excel
实例11:用Python给Excel所有工作表添加图片
Python3 读取和写入excel xlsx文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服