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

如何将Eviews格式日期(如2022M8)转换为Python的20220801格式

解决Eviews格式日期转换为Python标准日期格式的问题

你的代码失败的原因是格式字符串与输入日期的结构不匹配。输入日期是YYYYMmm格式(如1973M10、2022M8),但你使用的%Y M /%m包含空格和斜杠,完全不符合输入的格式规则。

修正后的代码示例

import datetime

# 单个日期转换示例
date_time_str = '1973M10'
# 匹配Eviews日期格式:年份(YYYY) + 'M' + 月份(1-2位数字)
date_time_obj = datetime.datetime.strptime(date_time_str, '%YM%m')
# 转换为YYYYMMDD格式(默认当月第一天)
formatted_date = date_time_obj.strftime('%Y%m%d')

print("转换后的日期格式类型:", type(formatted_date))
print("转换后的日期:", formatted_date)

批量转换日期列表

如果要处理一批日期向量,可以用循环实现:

import datetime

eviews_dates = ['2022M8', '2022M09', '1973M10']
formatted_dates = []

for date_str in eviews_dates:
    date_obj = datetime.datetime.strptime(date_str, '%YM%m')
    formatted_dates.append(date_obj.strftime('%Y%m%d'))

print("批量转换结果:", formatted_dates)

关键说明

  • %YM%m:准确匹配Eviews日期的结构,%Y解析4位年份,M匹配固定字符'M',%m解析1或2位的月份数字(自动兼容8和09两种写法)。
  • %Y%m%d:将datetime对象格式化为YYYYMMDD格式,默认取当月第一天(因为原日期没有具体日信息)。

内容的提问来源于stack exchange,提问作者Jonathan Alexander Munoz Marti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:45:34