PYTHON在excel应用

我需要新建一个excel,2024年日历表

第一行第一列为1月1日,第一行就是1月
第二行第一列为2月1日,第二行就是2月

周六周日标记绿色。

PYTHON咋写?

【以下回答由 GPT 生成】

我可以使用openpyxl库来创建Excel日历表。下面是具体的解决方案:

首先,我需要安装openpyxl库。可以使用以下命令来安装:

pip install openpyxl

接下来,我会编写一个Python脚本来生成Excel日历表。下面是代码的实现:

import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter

# 创建一个新的Excel文件
workbook = openpyxl.Workbook()
# 获取默认的工作表
sheet = workbook.active

# 设置列宽为15
column_width = 15
for col in range(1, 13):
    sheet.column_dimensions[get_column_letter(col)].width = column_width

# 创建标题行
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
for col, month in enumerate(months, start=1):
    sheet.cell(row=1, column=col).value = month

# 获取2024年的日期范围
start_date = '2024-01-01'
end_date = '2024-12-31'
date_format = '%Y-%m-%d'

start_datetime = datetime.strptime(start_date, date_format)
end_datetime = datetime.strptime(end_date, date_format)

date_range = pd.date_range(start_datetime, end_datetime).tolist()

# 填充日期数据
row = 2
for date in date_range:
    col = date.month
    sheet.cell(row=row, column=col).value = date.day

    # 如果是周六或周日,设置单元格的背景颜色为绿色
    if date.weekday() >= 5:
        cell = sheet.cell(row=row, column=col)
        green_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")
        cell.fill = green_fill

    # 如果已经到了一个月的最后一天,换行到下一行
    if date == date_range[-1] or date.day == calendar.monthrange(date.year, date.month)[1]:
        row += 1

# 保存Excel文件
workbook.save('2024_calendar.xlsx')

这段代码首先导入了openpyxl库,并引入了一些需要使用的模块。然后,创建一个新的Excel文件,并获取默认的工作表。接下来,设置列宽为15,以适应每个月的单元格。然后,创建标题行,将月份名称填充到第一行中。接下来,根据2024年的日期范围,用日期循环填充每个月的日期数据到工作表中,并根据日期的星期几来设置单元格的背景颜色。最后,保存Excel文件。

以上就是使用Python创建2024年Excel日历表的解决方案。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^