【问题标题】:ValueError: time data '(datetime.datetime(2018, 8, 21, 14, 14, 18, 233000),)' does not match format '%Y-%m-%d'ValueError: 时间数据 '(datetime.datetime(2018, 8, 21, 14, 14, 18, 233000),)' 与格式 '%Y-%m-%d' 不匹配
【发布时间】:2020-01-31 02:50:23
【问题描述】:

我正在尝试编写一个脚本,从 SQL 中提取数据并将其推送到 Quickbase。我只需要行中的年、月和日

这是打印结果的输出

(datetime.datetime(2018, 11, 30, 19, 52, 32, 927000),)
(None,)
(datetime.datetime(2018, 10, 17, 21, 39, 37, 163000),)
(datetime.datetime(2016, 12, 30, 20, 14, 23, 133000),)
(datetime.datetime(2018, 10, 17, 21, 31, 21, 853000),)
(datetime.datetime(2017, 2, 27, 21, 26, 51, 307000),)
(datetime.datetime(2018, 12, 20, 20, 35, 29, 997000),)
(datetime.datetime(2019, 9, 5, 15, 29, 22, 967000),)
(datetime.datetime(2018, 8, 13, 21, 57, 3, 307000),)
(datetime.datetime(2018, 10, 17, 21, 28, 23, 60000),)

这就是我所拥有的

for result in cursor.fetchall():
    print(result)
    result = datetime.strptime(str(result), '%Y-%m-%d')



    #client.edit_record(rid = result , fields = {'99' : '1' }, database=CONTACTS_TABLE)
cursor.commit()
cursor.close()

这是我的错误

ValueError: time data '(datetime.datetime(2018, 8, 21, 14, 14, 18, 233000),)' does not match format '%Y-%m-%d'

任何意见表示赞赏!

【问题讨论】:

    标签: python datetime format valueerror


    【解决方案1】:

    您在尝试管理该数据结构时遇到了一些麻烦。

    你不需要转换为string,所以这部分不好:

    datetime.strptime(str(result), '%Y-%m-%d')
    

    您应该访问元组的第一个元素,然后使用strftime

    >>> dd = (datetime.datetime(2018, 11, 30, 19, 52, 32, 927000),)
    >>> datetime.datetime.strftime(dd[0], '%Y-%m-%d')
    '2018-11-30'
    

    【讨论】:

      【解决方案2】:

      我认为您在尝试将元组转换为 str 时遇到问题,这不是问题,但对您没有帮助。

      如果你想保存一个 str,我建议你这样做:

      for result in cursor.fetchall():
          print(result)
          result = '%d-%d-%d' % (result[0].year, result[0].month, result[0].day)
      

      或者如果你想保存一个日期对象,只需使用该值创建一个新的 datetime.date

      【讨论】:

      • 谢谢它的工作,你能给我一个例子,它处理日期时间内的 null/None 值以及如何解析/跳过它?
      • 我会写类似:if result[0]: result = ...
      猜你喜欢
      • 2022-01-20
      • 2018-03-18
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      相关资源
      最近更新 更多