news 2026/4/23 10:47:56

python用openpyxl操作excel-读取或创建excel文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python用openpyxl操作excel-读取或创建excel文件

python用openpyxl操作excel-读取或创建excel

1,读取 excel 文件返回 workbook 对象

def excel_read(file_path): """ 读取Excel文件返回workbook对象 """ if not os.path.exists(file_path): logger.error(f'文件{file_path}不存在') return None wb = load_workbook(file_path) return wb

2,可创建指定名称,含有多个表sheet名称的excel文件

import logging import com.pro001.log.pro_log_config as pro_log_config from openpyxl import Workbook, load_workbook from openpyxl.styles import Font, Alignment, Side, PatternFill, Border import os import datetime import random import pandas as pd def create_sn(prefix, output_len=4): '''生成含有前缀并至少带指定长度格式的序列号, 格式:prefix_d0{output_len}1''' if output_len < 1: output_len = 1 sn = 0 while True: sn += 1 if len(str(sn)) > output_len: # 当大于指定位数时直接加上位数 yield f'{prefix}' + str(sn) else: yield f'{prefix}' + '{:0{}}'.format(sn, output_len) def excel_create(file_path, file_name, *sheet_name): """ 根据参数创建Excel文件并建立sheet """ try: if not os.path.exists(file_path): os.makedirs(file_path) if not file_name or not file_name.lower().endswith('.xlsx'): file_name = datetime.datetime.now().strftime('%Y%m%d_%H%M%S') + '.xlsx' full_file_path = os.path.join(file_path, file_name) sn = create_sn('TB', 3) sheet_name_list = [] if not sheet_name: sheet_name = next(sn) else: for item in sheet_name: sheet_name_list.append(item) # 创建 Workbook 对象, wb = Workbook() # 创建指定名称的工作表 for sheet_name in sheet_name_list: wb.create_sheet(sheet_name) # 删除建立时生产的第一个默认sheet对象 shnames = wb.sheetnames wb.remove(wb[shnames[0]]) wb.save(full_file_path) # 获取wb对象所有的sheet名称 shnames = wb.sheetnames # 关闭wb对象 wb.close() logger.info(f'Excel文件:{full_file_path} 创建成功!') logger.info(f'工作表:' + ','.join(shnames)) return full_file_path except Exception as e: logger.error(f'Excel文件:{full_file_path} 创建失败!info:\n{e}') def main(): """主函数""" excel_create(r'F:\appData', '', 'TB01', 'TB02', 'TB03') if __name__ == '__main__': print('-' * 60) main()

运行结果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 1:20:02

小红书内容运营工具怎么选?专业视角拆解优质工具核心标准

在小红书成为品牌 “种草主阵地” 的当下&#xff0c;内容运营的效率与质量直接决定品牌曝光与转化效果。但多数品牌面临 “优质内容产出慢、关键词适配差、数据优化无依据” 等痛点&#xff0c;单纯依赖人工运营已难以应对平台高频更新与用户精细化需求。而一款好用的小红书内…

作者头像 李华
网站建设 2026/4/21 13:23:50

Cesium快速入门到精通系列教程二十二:Cesium1.95中设置颜色的方式

一、基础颜色定义方式Cesium 中最核心的颜色类是 Cesium.Color&#xff0c;所有可视化元素&#xff08;模型、几何体、材质、标签等&#xff09;的颜色最终都依赖此类定义&#xff0c;主要有以下初始化方式&#xff1a;1. 预定义纯色&#xff08;直接调用内置常量&#xff09;C…

作者头像 李华
网站建设 2026/4/23 6:01:44

C++学习之旅【实战全面解析C++类和对象】

&#x1f525;承渊政道&#xff1a;个人主页 ❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法初阶》《C初阶知识内容》 ✨逆境不吐心中苦,顺境不忘来时路! &#x1f3ac; 博主简介: 引言:前篇文章,小编已经将我所学的C类和对象的相关知识介绍完了,俗话说的好,温故知新,…

作者头像 李华
网站建设 2026/4/22 14:39:04

如何一键生成文件二维码?文件二维码在线制作指南

日常工作和生活中&#xff0c;我们常常需要分享各类文件 —— 合同文档、课件资料、设计素材等&#xff0c;传统的文件传输方式要么受大小限制&#xff0c;要么操作繁琐。其实&#xff0c;给文件生成二维码&#xff0c;扫码即可直接下载或查看&#xff0c;无需复杂步骤&#xf…

作者头像 李华
网站建设 2026/4/18 14:41:58

软件工程正是为了应对“软件危机”而诞生的学科,其核心目标是通过系统化

软件工程正是为了应对“软件危机”而诞生的学科&#xff0c;其核心目标是通过系统化、规范化和可量化的方法来提高软件开发的效率与质量。面对第三代计算机硬件快速发展所带来的软件需求激增&#xff0c;传统的手工作坊式开发方式已无法满足复杂系统的构建需求&#xff0c;从而…

作者头像 李华
网站建设 2026/4/21 12:49:34

21、Ubuntu 软件安装、卸载与系统维护全攻略

Ubuntu 软件安装、卸载与系统维护全攻略 在 Ubuntu 系统中,软件的安装与卸载以及系统的维护和安全保障是日常使用中非常重要的环节。下面将详细介绍多种软件管理方式以及系统维护的相关内容。 1. Synaptic 软件包管理器 Synaptic 除了有用于显示类别和安装状态的“Sections…

作者头像 李华