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

使用pandasql提取当前日期月份列失败,求解决方案

解决pandasql提取当前日期月份返回None的问题

问题根源在于pandasql基于SQLite实现,current_date返回的是字符串格式(如'2024-05-20'),而strftime函数需要传入日期/时间对象,直接传字符串会导致解析失败,返回None。

修改SQL查询语句即可解决,以下是两种可行方案:

方案一:将current_date转为日期对象

import pandas as pd 
import pandasql as psql
 
df=pd.DataFrame() 
df['index_val'] = [1,2]
 
v_sql_query = '''select *, 
  current_date as date_col, 
  strftime('%B', date(current_date)) as month_col 
from df;
'''

df = psql.sqldf(v_sql_query, locals())

print(df)

方案二:直接使用'now'作为strftime参数

import pandas as pd 
import pandasql as psql
 
df=pd.DataFrame() 
df['index_val'] = [1,2]
 
v_sql_query = '''select *, 
  current_date as date_col, 
  strftime('%B', 'now') as month_col 
from df;
'''

df = psql.sqldf(v_sql_query, locals())

print(df)

两种方案都会让month_col正确返回当前月份的全称(如May、June)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:36:01