ValueError:时间数据'(datetime.datetime(2018,8,21,14,14,18,233000),)'与格式'%Y-%m-%d'不匹配

问题描述 投票:1回答:1
我正在尝试编写一个脚本,该脚本从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个回答
0
投票
我认为您遇到的问题是您试图将元组转换为str,这不是问题,但没有帮助。

如果您要保存一个str,我建议做这样的事情:

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

或者如果要保存日期对象,只需使用该值创建一个新的datetime.date
© www.soinside.com 2019 - 2024. All rights reserved.