Python转换今日日期格式后调用map报错:'str'对象无map属性
问题解决:AttributeError: 'str' object has no attribute 'map'
错误原因
date.today().strftime('%m-%d-%Y')返回的是普通Python字符串,而map()是pandas Series/DataFrame专属的方法,字符串类型没有这个属性,因此触发报错。
解决方案
根据实际需求分两种情况处理:
情况1:仅处理单个日期字符串
直接将生成的日期字符串传入自定义函数即可,无需使用map():
import datetime as dt from datetime import date def user_defined_function(date_str): # 替换为你的实际函数逻辑 return date_str refresh_date = date.today().strftime('%m-%d-%Y') x = user_defined_function(refresh_date)
情况2:需要处理批量日期(基于pandas)
如果原本是想处理pandas序列中的日期,需先把日期字符串包装成pd.Series,再调用map():
import pandas as pd import datetime as dt from datetime import date def user_defined_function(date_str): # 替换为你的实际函数逻辑 return date_str # 将日期包装成pandas Series refresh_date = pd.Series([date.today().strftime('%m-%d-%Y')]) x = refresh_date.map(user_defined_function).values[0]
内容的提问来源于stack exchange,提问作者Scope
相关产品推荐
相关产品推荐

