前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-Excel-win32com-10-最大行最大列

Python-Excel-win32com-10-最大行最大列

作者头像
zishendianxia
发布2020-03-13 10:09:24
2K0
发布2020-03-13 10:09:24
举报
文章被收录于专栏:Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲PythonExcel的操作
  • 使用win32com模块
  • 获取工作表最大行、最大列

Part 1:示例说明

  1. 在对Excel数据进行遍历时,如何获取当前已有内容最大行最大列?
  2. 下图已知工作表中输入的内容,可知
    • 最大行为:15
    • 最大列为:9

工作表

Part 2:代码

代码语言:javascript
复制
import os
import win32com
from win32com.client import constants as c  # 旨在直接使用VBA常数
current_address = os.path.abspath('.')
upper_address = os.path.dirname(current_address)

excel_address = os.path.join(upper_address, "最大行最大列.xlsx")
print(excel_address)
xl_app = win32com.client.gencache.EnsureDispatch("Excel.Application")  # 若想引用常数的话使用此法调用Excel
xl_app.Visible = True  # 是否显示Excel文件
wb = xl_app.Workbooks.Open(excel_address)
sht = wb.Worksheets(1)

range_used = sht.UsedRange
max_row = range_used.Rows.Count
max_col = range_used.Columns.Count

print("最大行:", max_row)
print("最大列:", max_col)

wb.Close()
xl_app.Quit()

代码截图

运行结果

Part 3:部分代码解读

  1. range_used = sht.UsedRange获取当前已使用单元格区域
  2. max_row = range_used.Rows.Count获取已使用单元格区域最大行
  3. max_col = range_used.Columns.Count获取已使用单元格区域最大列
  4. 通过以上示例发现其实就是某单元格区域的一个属性,做以下衍生:工作表的最大行,最大列
代码语言:javascript
复制
range_used = sht.Cells
max_row = range_used.Rows.Count
max_col = range_used.Columns.Count

运行结果如下

5. 如果单元格区域不是从第1行第1列开始的,那么对应的结果是什么?

代码语言:javascript
复制
range_used = sht.Range("A3:C5")
max_row = range_used.Rows.Count
max_col = range_used.Columns.Count

结果如下

对应的Excel单元格区域

6. 从以上结果可以得出,该属性只是描述所选择单元格区域的行数或者列数,不是行号或者列号。从1开始计数时,最大行号和行数一致,最大列号与列数一致

本文为原创作品,欢迎分享朋友圈

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档