Python读取Excel表格 编辑

前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法。

准备工作

1、安装Python3.7.0(官网下载安装包)

2、安装Pycharm(官网下载安装包)

3、安装openpyxl

命令行窗口执行: pip install openpyxl ,出现Successfully installed表示安装成功。

4、准备一份Excel表格,绝对路径:D:\zxt\test_data.xlsx , test_data.xlsx内容如下:

了解几个常用概念

workbook 工作簿

worksheet 表单

row 行

column 列

cell 单元格

active 活跃的表单(即:正打开使用的表格)

index 索引 (注意:Excel中的索引值是从1开始!!!

Python读取Excel

import openpyxl
# 一、打开工作簿
wb = openpyxl.load_workbook(r"D:\zxt\test_data.xlsx", read_only=False)

# 二、从工作簿中获取表单
# 1.遍历表单名称
for sheet in wb:
print(sheet.title)

print(wb.sheetnames) # 结果是一个列表

# 2.获取表单对象
mySheet = wb.create_sheet('表单4')
print(wb.sheetnames)
sheet4 = wb['表单4'] # 通过表单名获取,注意这里使用方括号

# 三、从表单中取出单元格,并打印单元格的行、列、值
ws = wb.active # 取出活跃的表单
print(ws) # 打印表单
print(ws['A1']) # 打印A1单元格
print(ws['A1'].value) # 打印A1单元格的值

# 1.打印B2单元格的行、列、值
c = ws['B2']
print("B2单元格的行数是{0},列数是{1},值是{2}".format(c.row, c.column, c.value))
print("单元格{0}的值是{1}".format(c.coordinate, c.value)) # c.coordinate表示获取单元格的坐标

# 2.还可以通过指定单元格的行、列索引值,来获取单元格的值
print(ws.cell(row=2, column=2).value)

for i in range(2, 8, 2):
print(ws.cell(row=i, column=2).value)

for j in range(1, 3):
print(ws.cell(row=2, column=j).value)

# 3.根据指定的行、列范围打印单元格的值
row6 = ws[6]
print(row6)
columnB = ws['B']
print(columnB)
row_range = ws[1:8] # 采用切片的方法获取行的范围
column_range = ws['A:C']
column_index = range(1, 4)

# 利用for循环遍历单元格的值
# 方法1.先取出每一行,再取出每一行中的每一个单元格来获取值
for row in row_range:
for cell in row:
print(cell.value)

# 方法2.先取出每一列,再取出每一列中的每一个单元格来获取值
for col in column_range:
for cell in col:
print(cell.value)

# 方法3.通过生成器打印指定矩形区域单元格的值
# 说明:使用iter_rows()和iter_cols()方法更加灵活,可以指定单元格的行、列范围,返回的是一个生成器。
for row in ws.iter_rows(min_row=1, max_row=8, min_col=1, max_col=2):
for cell in row:
print(cell.value)

for col in ws.iter_cols(min_col=1, max_col=2, min_row=1, max_row=8):
for cell in col:
print(cell.value)

# 方法4.按照单元格的范围(矩形)区域打印单元格的值
# 先给出单元格的范围,然后按行取打印每个单元格的值
cell_range = ws['A1:B8']
for rowOfCellObject in cell_range:
for cellObj in rowOfCellObject:
print(cellObj.coordinate, cellObj.value)

获取表单的最大行数、最大列数


print("表单1是:{0}*{1}的表格".format(ws.max_row, ws.max_column))

列对应的数字和字符转换


# 说明:使用这个转换功能,我们需要先导入2个模块
from openpyxl.utils import get_column_letter, column_index_from_string
print(get_column_letter(2), get_column_letter(20), get_column_letter(47))
print(column_index_from_string('AU'), column_index_from_string('AHH'))

最后,喜欢的朋友点赞、推荐下,后续精彩内容持续更新中,敬请关注!








 

 

 

 
 

 

 


 



作者:Xintao zhong
出处:https://zxt518.cnblogs.com/

如果,您希望更容易地发现我的新文章,不妨点击一下绿色通道的关注我,亦可微信搜索号Zxt-shenhaiweilan关注我。

如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。如您有任何疑问或者授权方面的协商,请          .
posted @   淘气的包子  阅读(3870)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

打赏

>>

欢迎打赏支持我 ^_^

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示