网站首页 > java教程 正文
python操作excel在我们的工作中经常会用到,操作用例读取对应信息进行接口自动化
python Excel库对比
我们发现可以操作excel的库有很多种,我们常用的就三种方法
- 第三方库 xlwt/xlrd:用于生成和读取比较老的excel文件,比如xls格式,最大行数限制为65536行。其中xlrd是读excel,xlwt是写excel的库。
- 第三方库 openpyxl:用于生成2010之后新的excel文件,比如xlsx格式,最大行数限制为1048576行
- 第三方库 pandas:pandas是最强大的数据分析库,自带excel读取和生成模块
本文主要使用openpyxl库
安装openpyxl库
pip install openpyxl -i https://pypi.douban.com/simple/
写入Excel
写入基本操作步骤:
- 1.获取workbook
- 2.获取 worksheet
- 3.再然后获取单元格,进行操作
- 4.保存文件
import openpyxl
# 创建workbook对象
wb = openpyxl.Workbook()
# # 删除默认创建的一个sheet页
ws = wb['Sheet']
wb.remove(ws)
# # 给sheet页命名
sheetName = "松勤测试"
# 创建sheet页
ws = wb.create_sheet(sheetName)
# 写入方式1:(行、列、值)
ws.cell(row=1, column=1, value="python")
ws.cell(row=1, column=2).value = "java"
ws.cell(row=1, column=3).value = "松勤"
ws['D1'].value = "sq"
# 写入方式2:append方法
row = ["python","java","松勤","sq"]
# 向工作表中 按行添加数据
ws.append(row)
# filePath 是指保存的 excel 文件路径
filePath = "松勤.xlsx"
# 保存xlsx
wb.save(filePath)
读取Excel
import openpyxl
# fileName 这里是指文件路径
fileName = "松勤.xlsx"
# 使用load_workbook()方法,以只读模式打开工作簿 #指定read_only=True方式,按列读取会失败
wb = openpyxl.load_workbook(filename = fileName,read_only = True)
# sheetName 就是 sheet页的名称
sheetName = "松勤测试"
# 通过 工作表名 获取 工作表
ws = wb[sheetName]
# 读取方式1:指定读取 A1、B1和C1单元的内容方法
a1 = ws['A1'].value
b1 = ws['B1']
c1 = ws.cell(row=1, column=3).value
print(a1)
print(b1.value)
print(c1)
# 读取方式2:用循环读取指定的部分内容['A1,D1']
for row in ws['A1:D1']:
for cell in row:
print(cell.value)
# 读取方式3:
# 按行读取 工作表的全部内容
for row in ws.rows:
for cell in row:
print(cell.value)
# # 按列读取 工作表的全部内容
for column in ws.columns:
for cell in column:
print(cell.value)
更新Excel
import openpyxl
# fileName 这里是指文件路径
fileName = "松勤.xlsx"
#使用load_workbook()方法,以只读模式打开工作簿
wb = openpyxl.load_workbook(fileName)
sheetName = "松勤测试"
# 通过 工作表名 获取 工作表
ws = wb[sheetName]
#修改对应数据
ws["A1"]="sq"
# filePath 是指保存的 excel 文件路径
filePath = "松勤.xlsx"
# 保存xlsx
wb.save(filePath)
猜你喜欢
- 2024-12-17 Excel数据还可这样来查询:用SQL查询输出工作表指定区域更高效!
- 2024-12-17 Pandas:一个高性能的数据分析Python库
- 2024-12-17 《github精选系列》——数据可视化分析平台DataGear
- 2024-12-17 测试驱动技术(TDD)系列之5:从excel中读取数据
- 2024-12-17 Python读取与写入Excel模块:openpyxl
- 2024-12-17 基于java的开源BI可视化工具——DataGear使用教程
- 2024-12-17 将Excel表格直接导出成JSON文件格式的一个小工具
- 2024-12-17 java解析doc、docx内容踩坑日记 java解析文本文件
- 2024-12-17 深入解析 EasyExcel 组件原理与应用
- 2024-12-17 数据分析的常用工具有哪些?Excel和BI如何选择
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)