如何准确处理只含年份的日期字符串,防止引发 ValueError?

2026-05-07 15:180阅读0评论SEO问题
  • 内容介绍
  • 相关推荐

本文共计531个文字,预计阅读时间需要3分钟。

如何准确处理只含年份的日期字符串,防止引发 ValueError?

相关专题

当 pandas 的 `pd.to_datetime()` 遇到仅含年份(如 "1922")的字符串却默认按 `%y-%m-%d` 格式解析时,会抛出 valueerror;解决方法是显式指定 `format='%y'` 或使用 `infer_datetime_format=true` / `format='mixed'` 等灵活策略。

在将 'release_date' 列设为索引并转换为 datetime 类型时,报错 ValueError: time data "1922" doesn't match format "%Y-%m-%d",根本原因在于:该列中存在不统一的日期格式——部分值可能是完整日期(如 "1998-05-12"),而另一些仅包含年份(如 "1922")。Pandas 默认尝试按 ISO 或通用格式(如 %Y-%m-%d)解析,一旦遇到纯年份字符串,便因格式不匹配而失败。

✅ 正确做法是显式声明输入格式

阅读全文

本文共计531个文字,预计阅读时间需要3分钟。

如何准确处理只含年份的日期字符串,防止引发 ValueError?

相关专题

当 pandas 的 `pd.to_datetime()` 遇到仅含年份(如 "1922")的字符串却默认按 `%y-%m-%d` 格式解析时,会抛出 valueerror;解决方法是显式指定 `format='%y'` 或使用 `infer_datetime_format=true` / `format='mixed'` 等灵活策略。

在将 'release_date' 列设为索引并转换为 datetime 类型时,报错 ValueError: time data "1922" doesn't match format "%Y-%m-%d",根本原因在于:该列中存在不统一的日期格式——部分值可能是完整日期(如 "1998-05-12"),而另一些仅包含年份(如 "1922")。Pandas 默认尝试按 ISO 或通用格式(如 %Y-%m-%d)解析,一旦遇到纯年份字符串,便因格式不匹配而失败。

✅ 正确做法是显式声明输入格式

阅读全文