Pandas日期字符串格式化报错:转换加工作日后触发AssertionError
解决日期转换与工作日偏移的AssertionError问题
嘿,我来帮你搞定这个问题!你的代码里有两个关键问题触发了AssertionError,咱们一步步修正:
问题分析
- 导入语句语法错误:你把两个独立的导入写在了同一行,Python无法正确解析这种写法。另外你还漏了导入pandas本身,不然
pd.to_datetime会找不到对应的模块。 - pd.to_datetime参数传递错误:你直接把格式字符串作为位置参数传递,但
pd.to_datetime的格式参数需要通过format=关键字来指定,否则会被识别为其他参数,进而触发断言错误。
修正后的完整代码
import pandas as pd from pandas.tseries.offsets import BDay # 定义你的日期字符串 stringy = "2017-12-03" # 转换为datetime类型 + 添加1个工作日 + 格式化日期 valor_nuevo = (pd.to_datetime(stringy, format='%Y-%m-%d') + BDay(1)).strftime('%d/%m/%Y') # 验证结果 print(valor_nuevo) # 输出:04/12/2017
代码说明
- 先正确导入pandas库和BDay偏移量,确保所有用到的模块都能被识别
- 用
pd.to_datetime配合format='%Y-%m-%d'精准解析日期字符串,避免自动推断可能带来的异常 - 添加
BDay(1)实现工作日偏移(自动跳过周末) - 最后用
strftime('%d/%m/%Y')把datetime对象转换成你需要的日/月/年格式
内容的提问来源于stack exchange,提问作者JamesHudson81
相关产品推荐
相关产品推荐

