gpt4 book ai didi

python - 在python和mysql中插入特定日期范围内的csv数据

转载 作者:行者123 更新时间:2023-11-29 12:37:16 25 4
gpt4 key购买 nike

我只想将某个日期插入到我的表中。我有这个代码。

当我仅使用此代码时,插入了 csv 中的所有数据

for row in readers:
query4 = """INSERT INTO csv(
csv_id, Mchn, EnNO, Mode1,
IODMd, Date_Time)
VALUES(%s,%s,%s,%s,%s,%r)
"""

db.session.execute(query4 % (row[0], row[1], row[2], row[4], row[5], row[6],))
db.session.commit()

但我只想插入特定日期所以我尝试添加 WHERE 就可以了。像这样

for row in readers:
query4 = """INSERT INTO csv(
csv_id, Mchn, EnNO, Mode1,
IODMd, Date_Time)
VALUES(%s,%s,%s,%s,%s,%r)
WHERE Date_Time >= (select c_start_date from c_temp c where c.id = :id)
AND Date_Time <= (select DATE_ADD(c_end_date,interval 1 day) from c_temp c where c.id = :id)"""

db.session.execute(query4 % (row[0], row[1], row[2], row[4], row[5], row[6],))
db.session.commit()

但是当我尝试它时,它出现错误并停止它。谢谢。

最佳答案

如果您想根据数据的日期时间过滤要插入的数据,则应在创建 INSERT 语句之前评估数据。

import datetime

start_date = datetime.datetime(<value from db>)
db_end_date = datetime.datetime(<value from db>)
end_date = db_end_date + datetime.timedelta(days=1)

for row in readers:
csvid, mchn, enno, model, iodmd, dt = row[:7]
# parse incoming datetime value into a python datetime object
# not sure what your format is here
parsed_date = datetime.datetime.strptime(dt, "%Y-%m-%D")
if start_date <= parsed_date <= end_date:
query4 = """INSERT INTO csv(
csv_id, Mchn, EnNO, Mode1,
IODMd, Date_Time)
VALUES(%s,%s,%s,%s,%s,%r)
"""

db.session.execute(query4 % (csvid, mchn, enno, model, iodmd, dt,))
db.session.commit()

关于python - 在python和mysql中插入特定日期范围内的csv数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com