【问题标题】:Python- MM/DD/YY SortingPython- MM/DD/YY 排序
【发布时间】:2023-03-31 20:52:01
【问题描述】:

所以我收到了这个错误:

time data '6/28/18' does not match format '%b/%d/%y'

我有一个 csv 文件,其中第 4 列有日期,并且想按日期对数据进行排序...有什么建议或可能的解决方案吗?我对 Python 的 datetime 特性不是很熟悉...

import csv
from datetime import datetime

with open('example.csv', newline='') as f:
    reader = csv.reader(f)
    data = sorted(reader, key = lambda row: datetime.strptime(row[4], '%b/%d/%y'))

print (data)

【问题讨论】:

  • 使用"%m/%d/%y"

标签: python python-3.x sorting date datetime


【解决方案1】:

使用"%m/%d/%y" 而不是"%b/%d/%y"

>>> x = '6/28/18'
>>> datetime.strptime(x, '%m/%d/%y')
datetime.datetime(2018, 6, 28, 0, 0)

【讨论】:

    【解决方案2】:

    您的datetime.strptime 格式字符串应为'%m/%d/%y'

    如果您的月份是“Jun”之类的缩写名称,%b 选项将起作用

    有关 Python 的日期时间格式选项的更多信息,请参阅此链接:

    https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2012-01-27
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      相关资源
      最近更新 更多