Python使用策略模式和openpyxl库创建Excel文件并追加内容

news/2024/9/13 23:20:04/ 标签: python, excel, 开发语言

python">from openpyxl import load_workbook# 数据数组
data = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
]# 打开现有的 Excel 文件
excel_file = 'sheetApend_example.xlsx'
wb = load_workbook(excel_file)# 选择要追加数据的工作表
sheet_name = 'test_Sheet2'  # 指定要追加数据的工作表名称
sheet = wb[sheet_name]# 追加数据到工作表末尾
for row in data:sheet.append(row)# 保存修改后的 Excel 文件
wb.save(excel_file)

python">import openpyxl
from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill, Alignmentclass ExcelManager():def createExcel(self, filename, sheetName,headers ):passdef appendDataToExcel(self, filename, sheetName,content ):passclass CreateExcelManager(ExcelManager):def createExcel(self, filename, sheetName,headers ):# 创建一个新的Excel工作簿wb = openpyxl.Workbook()# 获取默认的活动工作表sheet = wb.active# 定义表头数据headers = headers# 将表头数据写入第一行sheet.append(headers)# 将表头数据写入第一行,并设置字体加粗header_row = sheet[1]for cell in header_row:cell.font = Font(bold=True)cell.fill = PatternFill(start_color="FFC000", end_color="FFC000", fill_type="solid")  # 设置为橙色背景cell.alignment = Alignment(horizontal='center', vertical='center')  # 居中对齐# 修改默认的工作表名称sheet.title = sheetName# 保存Excel文件wb.save(filename)print(f"Excel文件 {filename} 创建成功")class ApendDataToExcelManager(ExcelManager):def appendDataToExcel(self, filename, sheetName,content ):# 数据数组# data = [#     [1, 2, 3],#     [4, 5, 6, 7],#     [7, 8, 9]# ]data = content# 打开现有的 Excel 文件excel_file = filenamewb = load_workbook(excel_file)# 选择要追加数据的工作表sheet_name = sheetName  # 指定要追加数据的工作表名称sheet = wb[sheet_name]# 追加数据到工作表末尾for row in data:sheet.append(row)# 保存修改后的 Excel 文件wb.save(excel_file)print(f"Excel文件 {filename} 追加内容成功")file_Name = 'excel_example.xlsx'
sheet_name = 'test_sheet1'  # 指定要追加数据的工作表名称
headers = ['A', 'B','C','D']data = [[1, 2, 3],[4, 5, 6, 7],[7, 8, 9],['a','b','N/A',' ','e']
]createExcelManager = CreateExcelManager()
createExcelManager.createExcel(file_Name,sheet_name,headers)apendDataToExcelManager = ApendDataToExcelManager()
apendDataToExcelManager.appendDataToExcel(file_Name,sheet_name,data)

Excel文件 excel_example.xlsx 创建成功
Excel文件 excel_example.xlsx 追加内容成功
 


http://www.ppmy.cn/news/1475677.html

相关文章

Facebook的AI革命:人工智能如何改变社交体验

随着科技的不断进步,人工智能(AI)作为一项革命性的技术,正在深刻影响着社交媒体的发展和用户体验。作为全球最大的社交平台之一,Facebook积极探索并应用AI技术,以提升用户的社交互动、内容分享和个性化体验…

Ubuntu系统安装mysql之后进行远程连接

1.首先要配置数据库允许进行远程连接 1.1 打开MySQL配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf1.2 修改 bind-address 行 #按i进入插入模式 bind-address 0.0.0.0 #按 Esc 键退出插入模式。 #输入:wq 然后按 Enter 保存并退…

C# SqlSugar 如何使用Sql语句进行查询,并带参数进行查询,防注入

一般ORM查询单表数据已经是很简单的一种方式了 详情可以看我的另一篇文章:ORM C# 封装SqlSugar 操作数据库_sqlsugar 基类封装-CSDN博客 下面是介绍有些数据是需要比较复杂的SQL语句来进行查询的时候,则需要自行组装SQL语句来进行查询,下面…

Mybatis-plus3.4.3下使用lambdaQuery报错

在 MyBatis-Plus 中,当使用 lambdaQuery().eq(CommonUser::getOpenId, openId).one() 进行查询时,如果未找到匹配的记录,不会抛出异常,而是会返回 null。 具体来说: 如果查询条件匹配到了数据库中的一条记录&#xf…

java 在pdf中根据关键字位置插入图片(公章、签名等)

java 在pdf中根据关键字位置插入图片&#xff08;公章、签名等&#xff09; 1.使用依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.1.12</version><type>pom</type>…

db期末复习自用[应试向 附习题]

第一章 数据库系统实现整体数据的结构化&#xff0c;主要特征之一&#xff0c;是db区别于文件系统的本质区别。 数据库系统三个阶段&#xff1a;人工、文件、数据库系统。 数据库管理系统的功能&#xff1a;数据库定义、操纵 、&#xff08;保护、存储、维护&#xff09;、数…

web安全及内网安全知识

本文来源无问社区&#xff08;wwlib.cn&#xff09;更多详细内容可前往观看http://www.wwlib.cn/index.php/artread/artid/7506.html Web安全 1、sql注入 Web程序中对于用户提交的参数未做过滤直接拼接到SQL语句中执行&#xff0c;导致参数中的特殊字符破坏了SQL语句原有逻…

【算法】二叉树-迭代法实现前后中序遍历

递归的实现就是:每一次递归调用都会把函数的局部变量&#xff0c;参数值和返回地址等压入调用栈中&#xff0c;然后递归返回的时候&#xff0c;从栈顶弹出上一次递归的各项参数&#xff0c;这就是递归为什么可以返回上一层位置的原因 可以用栈实现二叉树的前中后序遍历 1. 前序…

WSGI 服务器教程:`write` 方法解析

Python WSGI 服务器教程&#xff1a;write 方法解析 在本文中&#xff0c;我们将详细解析一个用于 WSGI 服务器的 write 方法。这个方法负责处理 HTTP 响应&#xff0c;包括设置响应头和发送响应数据。我们将逐行解释该方法的工作原理&#xff0c;并提供一些背景知识&#xff…

Python环境配置PyCharm

PyCharm Community设置: A 网络连接 File-Settings-Tools-Web Browsers and Preview-看情况吧[全部删除&#xff0c;换成本地浏览器即可] B Interpreter File-Settings-Project-Python Interpreter-Add Interpreter-System Interpreter-选择 C 系统变量 把B中下载的Pytho…

如何做好漏洞扫描工作提高网络安全

在数字化浪潮席卷全球的今天&#xff0c;企业数字化转型已成为提升竞争力、实现可持续发展的关键路径。然而&#xff0c;这一转型过程并非坦途&#xff0c;其中网络安全问题如同暗礁般潜伏&#xff0c;稍有不慎便可能引发数据泄露、服务中断乃至品牌信誉受损等严重后果。因此&a…

arm 版的 deb、rpm、AppImage 都有什么区别

qq arm 版的 deb、rpm 和 AppImage 格式之间存在几个关键区别。以下是对这些区别的详细解释&#xff1a; 包管理系统与兼容性&#xff1a; deb&#xff1a;是Debian及其衍生发行版&#xff08;如Ubuntu&#xff09;中使用的软件包格式。这些系统使用dpkg命令来管理deb包&#…

顶顶通呼叫中心中间件实现随时启动和停止质检(mod_cti基于FreeSWITCH)

文章目录 前言联系我们拨号方案启动停止ASR执行FreeSWITCH 命令接口启动ASR接口停止ASR接口 通知配置cti.json配置质检结果写入数据库 前言 顶顶通呼叫中心中间件的实时质检功能是由两个模块组成&#xff1a;mod_asr 和 mod_qc。 mod_asr&#xff1a;负责调用ASR将用户们在通…

【JavaWeb程序设计】Servlet(一)

目录 一、客户端通过login.jsp发出登录请求&#xff0c;请求提交到loginServlet处理。 1. 运行截图 2. 登录页面&#xff08;login.jsp&#xff09; 3. loginServlet 4. 登录成功页面&#xff08;loginSuccess.jsp&#xff09; 5. 登录失败页面&#xff08;loginFail.jsp…

UE5.3-基础蓝图类整理一

常用蓝图类整理&#xff1a; 1、获取当前关卡名&#xff1a;Get Current LevelName 2、通过关卡名打开关卡&#xff1a;Open Level(by name) 3、碰撞检测事件&#xff1a;Event ActorBeginOverlap 4、获取当前player&#xff1a;Get Player Pawn 5、判断是否相等&#xff1…

【Linux】有用但是易忘的命令/快捷键

终端相关 命令 1、查看当前终端shell脚本的类型 echo $SHELL 2、查看当前系统中所有可用的shell cat /etc/shells 3、修改当前终端的shell类型 临时修改&#xff1a;直接在终端输入可用的shell即可进入&#xff0c;输入exit即可退出&#xff1b; 永久修改&#…

java实战项目-学生管理系统(附带全套源代码及其登录注册功能的实现)--《进阶篇》

一、前言 新增了登录注册的功能&#xff0c;代码量可能会有点大&#xff0c;所有代码加起来差不多560行。这个项目对于小白来说肯定是一大难关了。文章中的每张图都是作者亲手绘制的&#xff0c;简单明了&#xff0c;如果大家认同作者&#xff0c;希望可以支持一下作者。全套源…

[PaddlePaddle飞桨] PaddleDetection-通用目标检测-小模型部署

PaddleDetection的GitHub项目地址 推荐环境&#xff1a; PaddlePaddle > 2.3.2 OS 64位操作系统 Python 3(3.5.1/3.6/3.7/3.8/3.9/3.10)&#xff0c;64位版本 pip/pip3(9.0.1)&#xff0c;64位版本 CUDA > 10.2 cuDNN > 7.6pip下载指令&#xff1a; python -m pip i…

使用 python 构建企业级高可用海量爬虫调度系统

一、引言 在大数据时代&#xff0c;信息的获取与分析成为了企业决策的重要依据。对于营销行业而言&#xff0c;实时抓取和分析竞争对手动态、市场趋势以及用户反馈等数据&#xff0c;是制定有效策略的关键。然而&#xff0c;构建一个高可用的、能够处理海量数据的爬虫调度系统…

python的readline()和readlines()

readlines() readlines() 是 Python 中用于从文件对象中读取所有行的方法。它会一次性读取整个文件内容&#xff0c;并将每一行作为一个字符串存储在一个列表中返回。 使用方法和返回值 使用 readlines() 方法可以读取文件的所有内容&#xff0c;每一行作为列表中的一个元素…