首页 > 其他分享 >基于openpyxl处理.xlsx过程遇到的小问题

基于openpyxl处理.xlsx过程遇到的小问题

时间:2023-08-16 17:55:06浏览次数:49  
标签:xlsx 基于 openpyxl Excel ws file path wb

前提

偶然一次遇到要处理大量的表格- -,处理步骤不难但是大量重复性劳作比较麻烦,尝试使用python来处理,以下是在过程中遇到的一些小问题记录一下
基于Python 3.10.11,使用openpyxl库

openpyxl库的简单使用介绍

安装openpyxl库

pip install openpyxl
1、打开/创建 一个工作簿并添加数据
import openpyxl

# 打开已有文件
# file_path = "E:\xxx\xxx\Examples.xlsx"
file_path = "Examples.xlsx"
wb = openpyxl.load_workbook(file_path)

# 创建一个新的Excel文件
# wb = openpyxl.Workbook() 

# 获取工作表
ws = wb.active
print("选择的工作表:", ws)

# 在工作表中添加数据
ws['A1'] = 'Hello'
ws['B1'] = 'World!'
ws['C2'] = 11
ws['D2'] = 22

# 保存  不保存上面做的更改是不会写入到文件中的
wb.save(file_path)

第一个坑 wb.active这个属性,在网上找资料时介绍这个是获取默认的工作表,但在实际使用中感觉应该是获取“活动”的工作表(这里可能是本人理解失误导致的)
例如新建一个Excel后第一次执行上述代码数据会正常写入了对应位置然后打印
>>>选择的工作表: <Worksheet "Sheet1">
此时如果打开Excel表格,无论是否进行数据更改只要选择其他sheet页面后保存,数据会写入在保存前选择的sheet页面中
选择了Sheet3页面,再执行上述的代码会变成输出
>>>选择的工作表: <Worksheet "Sheet3">

2、打开现有的工作簿并读取数据
import openpyxl

# 打开现有的工作簿
file_path = "Examples.xlsx"
wb= openpyxl.load_workbook(file_path)

# 获取指定的工作表
ws= wb["Sheet1"]

# 读取单元格数据
value1 = ws['A1'].value # 通过索引获取数据
value2 = ws.cell(row=2, column=3).value # 第二行第3列

print(value1)  # 输出:Hello
print(value2)  # 输出:11

ws.cell(row=2, column=3).value中row对应Excel的行column对应Excel的列,需要注意Excel中行列都是从1开始的,没有第0行/列

3、打开现有的工作簿并写入一行数据
import openpyxl

new_row_data = ["Dai", 23, "boy"]

# 打开现有的工作簿
file_path = "Examples.xlsx"
wb = openpyxl.load_workbook(file_path)

# 获取指定的工作表
ws = wb["Sheet1"]

# 添加一行数据
ws.append(new_row_data)

wb.save(file_path)

ws.append() 该函数会在最下面一行内没有任何数据的位置写入数据

待续。。。

标签:xlsx,基于,openpyxl,Excel,ws,file,path,wb
From: https://www.cnblogs.com/daixx/p/17593298.html

相关文章

  • 浅析基于视频汇聚与AI智能分析的新零售方案设计
    一、行业背景近年来,随着新零售概念的提出,国内外各大企业纷纷布局智慧零售领域。从无人便利店、智能售货机,到线上线下融合的电商平台,再到通过大数据分析实现精准推送的个性化营销,智慧零售的触角已经深入各个零售场景。最近在视频汇聚业务项目对接中,关于智慧零售的项目比较多,主要集中......
  • teamcenter 报错:java.lang.untimeExcept10n: B0M美异报导出板xlsx---》获即到用文件出
     解决方法:1、 2、用右键管理员权限来运行切换测试系统的BAT就可以了......
  • 基于 KubeSphere 的应用容器化在智能网联汽车领域的实践
    公司简介某国家级智能网联汽车研究中心成立于2018年,是担当产业发展咨询与建议、共性技术研发中心、创新成果转化的国家级创新平台,旨在提高我国在智能网联汽车及相关产业在全球价值链中的地位。目前着力建设基于大数据与云计算的智能汽车云端运营控制中心平台。推进云端运营控制中......
  • 基于buildroot实现initramfs的启动以及文件系统的切换
    以新唐ma35d1开发板为例:1、修改文件:board/nuvoton/ma35d1/uboot-env.txtmmcboot=ifmmcdev0;thenecho"Bootingformmmc......";setenvbootargsroot=/dev/ram0 console=ttyS0,115200n8rdinit=/initmem=${kernelmem};mmcread${kernel_addr_r}0x18000xA000;......
  • 基于java在线购物内部购买系统的设计与实现
    随着数据库技术和无线互联网的发展,各行业的数据信息量快速增多。正是由于这种发展形势,数据量变得非常杂乱无序,必须通过信息系统来选择用户需要的信息。本文通过Java开发平台研发乐高在线购物网站系统,解决原来销售只能通过实体前台进行商品购买问题。本文系统中使用的设计方法是一......
  • 基于python的12306自动抢票系统的设计与实现
    铁路售票系统12306网站作为一个广受人们的日常使用工具,受大极大的关注。铁路售票的管理者都主要考虑降低成本,提升售票服务满意度。一年一度的春运和节假日出行高峰期,给众多的出行群众者带来了极大的烦恼,也给用户购买火车票造成了巨大的不方便。本文通过调研动车售票系统的业务流程,......
  • 基于Android的高铁扫码订餐小程序
    随着数据库技术和无线互联网的发展,各行业的数据信息量快速增多。正是由于这种发展形势,数据量变得非常杂乱无序,必须通过信息系统来选择用户需要的信息。本文通过微信小程序平台上研发高铁订餐系统,解决高铁乘客只能通过餐厅车厢进行餐饮消费问题。本文系统中使用的设计方法是一种通......
  • 基于Android的英语学习APP的设计与实现
    随着移动互联网技术的快速发展,利用手机APP进行工作学习已经成为大众非常喜欢的生活方式。作为传统英语课外学习的重要补充,为了更好的提升英语学习的效果,设计一款适合学生学习的英语学习APP成为关注的焦点。本文通过对当前市场的英语学习APP软件进行需求调研,以怎样更方便为学生用户......
  • 基于springboot度假村管理系统
    随着互联网技术和信息化技术的不断深入发展,利用互联网技术进行信息化管理有了很大的提高,从而使得信息管理变的越来越快捷。面对互联网的发展提升引发的新的管理方式,度假村管理人员急需要一套管理系统来规范度假村各项信息的自动化。通过该系统度假村管理人员都能够做到度假村信息的......
  • 基于C#语言的博物馆藏品管理系统的设计与实现
    随着计算机通讯技术和数据库技术的不断发展,信息化已经成为社会发展的潮流,博物馆通过设计线上藏品信息宣传管理变的更加方便。面对高速发展的信息化系统,各行各业的信息化系统如雨后春笋不断的涌现。利用信息化系统,博物馆可以足不出户实现藏品信息的全面管理,从而引导博物馆各方面规范......