首页 > 解决方案 > 如何将 2017-W01 转换为日期?

问题描述

我有一个 csv 文件,其中包含类似于 2017-W01、2017-W02、2018-W07 等的数据(列 = '日期')。如何让 Python 将其读取为日期?

我试过索引日期列

import pandas as pd
df = pd.read_csv(r'input.csv', parse_dates=True, index_col='date')
df.head()

标签: pythonpython-3.xdate

解决方案


假设,您可以从 csv 文件中收集日期。要将此数据转换为日期时间格式,您可以使用datetimelib:

    import datetime as D
    parsed_date = '2017-W01' # suppose, you got it from a cvs document in str format
    date = D.datetime.strptime(parsed_date, '%Y-W%W')
    print(date) # datetime.datetime(2017, 1, 1, 0, 0)
    print(date.year, date.month) # 2017, 1
    print(str(date)) # '2017-01-01 00:00:00'

链接到文档:https ://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior


推荐阅读