使用openpyxl来创建一个月的日程表

首先你心里要有一张表的样子,openpyxl才能帮你创建出其余的29张。

import openpyxl
from openpyxl.styles import Alignment, Font
import calendar
from datetime import datework_path = r'XX\YY\ZZ\日报-九月.xlsx'try:workbook = openpyxl.load_workbook(work_path)
except FileNotFoundError:workbook = openpyxl.Workbook()workbook.save(work_path)workbook = openpyxl.load_workbook(work_path)# 创建30张表
for i in range(1, 31):# 新建表格sheet = workbook.create_sheet(title=f'9.{i}')# 设置单元格内容sheet['A1'].value = f'2023.09.{i:02d}({calendar.day_name[date(2023, 9, i).weekday()]})'sheet['A2'].value = '特记'sheet['A3'].value = '类型'sheet['B3'].value = '任务描述'sheet['C3'].value = '完成情况'sheet['D3'].value = '启发'sheet['A4'].value = '工作'sheet['A8'].value = '兴趣'sheet['A9'].value = '交际'sheet['A10'].value = '生活'sheet['A11'].value = '额外'# 设置单元格合并sheet.merge_cells('A1:D1')sheet.merge_cells('B2:D2')sheet.merge_cells('A4:A7')sheet.merge_cells('B11:C11')# 设置B、C、D三列的宽度为常规宽度的4倍sheet.column_dimensions['B'].width = sheet.column_dimensions['C'].width = sheet.column_dimensions['D'].width = 4 * \sheet.column_dimensions['A'].width# 设置单元格对齐方式for row in sheet.iter_rows(min_row=1, max_row=20, min_col=1, max_col=20):for cell in row:cell.alignment = Alignment(horizontal='center', vertical='center')# 设置中文字体样式
font_zh = Font(name='宋体')
for sheet in workbook.sheetnames:for row in workbook[sheet].rows:for cell in row:if isinstance(cell.value, str) and any('\u4e00' <= char <= '\u9fff' for char in cell.value):cell.font = font_zh# 设置英文字体样式
font_en = Font(name='Times New Roman')
for sheet in workbook.sheetnames:for row in workbook[sheet].rows:for cell in row:if isinstance(cell.value, str) and all(not ('\u4e00' <= char <= '\u9fff') for char in cell.value):cell.font = font_en# 保存
workbook.save(work_path)

结果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/114215.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的文件操作

我们平常对文件的基本操作&#xff0c;大概可以分为三个步骤&#xff08;简称文件操作三步走&#xff09;&#xff1a; ① 打开文件 ② 读写文件 ③ 关闭文件 【注意事项】 注意&#xff1a;可以只打开和关闭文件&#xff0c;不进行任何读写 文件打开 open函数&#xff…

前端三大Css处理器之Less

Less是Css预处理器之一&#xff0c;分别有Sass、Less、Stylus这三个。 Lesshttps://lesscss.org/ Less是用JavaScript编写的&#xff0c;事实上&#xff0c;Less是一个JavaScript库&#xff0c;他通过混合、变量、嵌套和规则设置循环扩展了原生普通Css的功能。Less的少数…

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志&#xff0c;但是数据量大时太消耗系统新能。而filebeat是轻量级的&#xff0c;占用系统资源极少。 Filebeat 由两个主要组件组成&#xff1a;harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…

python-下载数据-制作全球地震散点图:JSON格式

查看JSON数据 import json# 探索数据的结构 filename eq_data_1_day_m1.geojson with open(filename) as f:all_eq_data json.load(f)readable_file readable_eq_data.json with open(readable_file, w) as f:json.dump(all_eq_data, f, indent4)json.load() 将数据转换为P…

Python爬虫分布式架构 - Redis/RabbitMQ工作流程介绍

在大规模数据采集和处理任务中&#xff0c;使用分布式架构可以提高效率和可扩展性。本文将介绍Python爬虫分布式架构中常用的消息队列工具Redis和RabbitMQ的工作流程&#xff0c;帮助你理解分布式爬虫的原理和应用。 为什么需要分布式架构&#xff1f; 在数据采集任务中&#…

MonoDETR: Depth-guided Transformer for Monocular 3D Object Detection 论文解读

MonoDETR论文解读 abstract 单目目标检测在自动驾驶领域&#xff0c;一直是一个具有挑战的任务。现在大部分的方式都是沿用基于卷积的2D 检测器&#xff0c;首先检测物体中心&#xff0c;后通过中心附近的特征去预测3D属性。 但是仅仅通过局部的特征去预测3D特征是不高效的&…

Revit SDK:SolidSolidCut 实体几何裁剪

前言 这个例子介绍了 Revit 中的一个实体几何裁剪。 内容 这个例子介绍如何使用 SolidSolidCutUtils 的接口来做几何裁剪以及取消几何裁剪。内容相对来说非常简单。 namespace Autodesk.Revit.DB {public static class SolidSolidCutUtils{public static void AddCutBetwee…

虚拟化技术原理

计算虚拟化 介绍 把物理主机上物理资源&#xff08;CPU&#xff0c;内存&#xff0c;IO外设&#xff09;&#xff0c;通过虚拟化层抽象成超量、等量的逻辑资源&#xff08;虚拟CPU&#xff0c;虚拟内存&#xff0c;虚拟IO设备&#xff09;&#xff0c;然后重新组合形成新的虚…

独家首发!openEuler 主线集成 LuaJIT RISC-V JIT 技术

RISC-V SIG 预期随主线发布的 openEuler 23.09 创新版本会集成 LuaJIT RISC-V 支持。本次发版将提供带有完整 LuaJIT 支持的 RISC-V 环境并带有相关软件如 openResty 等软件的支持。 随着 RISC-V SIG 主线推动工作的进展&#xff0c;LuaJIT 和相关软件在 RISC-V 架构下的支持也…

使用php实现微信登录其实并不难,可以简单地分为三步进行

使用php实现微信登录其实并不难&#xff0c;可以简单地分为三步进行。 第一步&#xff1a;用户同意授权&#xff0c;获取code //微信登录public function wxlogin(){$appid "";$secret "";$str"http://***.***.com/getToken";$redirect_uriu…

鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

0.引言 上一篇博客介绍了使用Yalmip工具箱求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用Yalmip工具箱求解两阶段鲁棒优化(默认看到这篇博客时已经有一定的基础了&#xff0c;如果没有可以看看我专栏里的其他文章)。关于两阶段鲁棒优化与列与约束生成算法的原…

机器人编程怎么入门?

机器人已经在我们中间存在了二三十年。如今&#xff0c;机器人在我们的文化中比以往任何时候都更加根深蒂固。大多数机器人机器用于各种装配线&#xff0c;或在世界各地的矿山或工业设施中执行密集的物理操作。 还有一些家用机器人&#xff0c;工程师正在对机器人进行编程&…

淘宝API接口:提高电商运营效率与用户体验的利器(淘宝API接口使用指南)

淘宝API接口&#xff1a;提高电商运营效率与用户体验的利器 随着电商行业的快速发展&#xff0c;淘宝作为国内最大的电商平台之一&#xff0c;不断探索和创新&#xff0c;以满足不断变化的用户需求和商家需求。其中&#xff0c;淘宝API接口便是其创新的一个重要方面。本文将深…

分类算法系列③:模型选择与调优 (Facebook签到位置预测)

目录 模型选择与调优 1、介绍 模型选择&#xff08;Model Selection&#xff09;&#xff1a; 调优&#xff08;Hyperparameter Tuning&#xff09;&#xff1a; 本章重点 2、交叉验证 介绍 为什么需要交叉验证 数据处理 3、⭐超参数搜索-网格搜索(Grid Search) 介绍…

Node.js 中间件是怎样工作的?

express自带路由功能&#xff0c;可以侦听指定路径的请求&#xff0c;除此之外&#xff0c;express最大的优点就是【中间件】概念的灵活运用&#xff0c;使得各个模块得以解耦&#xff0c;像搭积木一样串起来就可以实现复杂的后端逻辑。除此之外&#xff0c;还可以利用别人写好…

文件包含漏洞

文章目录 渗透测试漏洞原理文件包含漏洞1. 文件包含概述1.1 文件包含语句1.1.1 相关配置 1.2 动态包含1.2.1 示例代码1.2.2 本地文件包含1.2.3 远程文件包含 1.3 漏洞原理1.4 文件包含和文件读取的区别 2. 文件包含攻防2.1 利用方法2.1.1 包含图片木马2.1.2 读取敏感文件2.1.3 …

Java实现根据关键词搜索京东商品列表数据方法,当当API接口(jd.item_search)申请指南

要通过京东网的API获取商品列表数据&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取商品列表&#xff1a; 首先&#xff0c;确保您已注册成为当当开放平台的开发者&#xff0c;并创建…

提高工作效率的一键查询和保存大量快递物流信息的技巧

在如今快速发展的电商行业中&#xff0c;物流服务的准确与便捷是保证顺利交付商品的重要环节。为了方便用户追踪物流&#xff0c;固乔快递查询助手应运而生。这款软件不仅能够快速查询快递单号的物流信息&#xff0c;还具备保存查询结果的功能&#xff0c;方便用户随时查看。 首…

QT(8.31)加载资源文件,信号与槽机制

作业&#xff1a; 实现登录界面&#xff0c;设置账号为admin&#xff0c;密码为123456&#xff0c;登陆成功则退出当前界面&#xff0c;切换到其他界面&#xff0c;密码错误或者账号不匹配则清空账号密码输入框中的内容&#xff0c;并输出登录失败&#xff0c;点击取消则退出当…

C语言memcpy与memmove

C语言memcpy与memmove memcpy memcpy函数原型 void* memcpy(void* dst,const void* src,size_t size);//const修饰src,表示不应该修改src指向的数据memcpy用于实现数据的拷贝操作&#xff0c;将src往后的size字节数据拷贝到dst指向的空间 memcpy的实现&#xff1a; void*…