You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将日期对象转为字符串并结合pytanggalmerah API实现循环校验?

实现方案与代码示例

1. 先安装依赖包

执行以下命令安装所需工具:

pip install pandas pytanggalmerah openpyxl

2. 核心实现步骤

  • 读取Excel文件并提取日期列
  • 对日期进行去重处理
  • 将日期对象转换为YYYY-MM-DD格式的字符串
  • 拆分年、月、日为整数,循环调用pytanggalmerah的校验接口,返回布尔结果

3. 完整可运行代码

import pandas as pd
from pytanggalmerah import is_holiday

# 替换为你的Excel文件路径和日期列名称
excel_path = "your_file.xlsx"
date_col_name = "日期"

# 读取Excel并转换日期列格式
df = pd.read_excel(excel_path, engine="openpyxl")
df[date_col_name] = pd.to_datetime(df[date_col_name], errors="coerce")

# 提取去重后的有效日期
unique_valid_dates = df[date_col_name].dropna().unique()

# 转换为YYYY-MM-DD字符串并校验
check_results = {}
for date_obj in unique_valid_dates:
    date_str = date_obj.strftime("%Y-%m-%d")
    year, month, day = map(int, date_str.split("-"))
    check_results[date_str] = is_holiday(year, month, day)

# 输出校验结果
for date, is_holiday_status in check_results.items():
    print(f"{date} 是否为节假日:{is_holiday_status}")

4. 关键细节说明

  • 日期有效性过滤:pd.to_datetime的errors="coerce"参数会把Excel里的无效日期转为空值,dropna()直接过滤掉这些无效数据
  • 去重逻辑:unique()方法直接获取不重复的日期数组,避免重复校验
  • 参数匹配:pytanggalmerah的is_holiday函数要求传入整数类型的年、月、日,所以拆分字符串后必须转为int类型
  • 结果存储:用字典存储每个日期的校验结果,方便后续导出到Excel或做进一步处理

内容的提问来源于stack exchange,提问作者Akazadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:20:43