python - 在python中将月份名称更改为日期

标签 python

我正在尝试在 python 中将月份名称更改为日期,但出现错误:

ValueError: time data 'October' does not match format '%m/%d/%Y'

我的 CSV 中有诸如 October 之类的值,我想将其更改为 10/01/2018

import pandas as pd
import datetime

f = pd.read_excel('test.xlsx', 'Sheet1', index_col=None)
keep_col = ['Month']
new_f = f[keep_col]
f['Month'] = f['Month'].apply(lambda v: datetime.datetime.strptime(v, '%m/%d/%Y'))
    new_f.to_csv("output.csv", index=False)

任何帮助将不胜感激

最佳答案

作为@AdamSmith 对答案的阐述,定义名称和日期之间映射的更好方法是使用已经具有名称列表的 calendar 模块:

import calendar
table = {name: datetime.datetime(month=1, day=val, year=2018) 
          for val, name in enumerate(calendar.month_name) if val>0}

关于python - 在python中将月份名称更改为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51976580/

相关文章:

python - sqlalchemy并发更新问题

python - 如何获得分类器在 sklearn 中进行预测的置信度分数?

python - 相互 TLS 身份验证 - SSLV3_ALERT_UNSUPPORTED_CERTIFICATE

python - Jupyter笔记本找不到模块

python - 如何在使用 inlineCallbacks 的试用测试用例中使用 assertRaises

python - python中实例变量和属性之间的区别?

python - 如何在 Python 中使用 NLP、RegEx 查找句子中的日期

python - 使用 cssutils 访问或读取页面规则的属性

python - NumPy array_equal 函数未按预期工作

python - 为什么方法这么慢?