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

2024-04-20 11:09:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想把某个日期插入我的表格。我有这个密码。在

当我只使用这段代码时,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()

但我只想插入一个特定的日期 所以我试着加上这个。像这样

^{pr2}$

但当我尝试它时,它有一个错误并停止它。谢谢您。在


Tags: csv数据代码inid密码fordb
1条回答
网友
1楼 · 发布于 2024-04-20 11:09:45

如果您希望在计算数据之前插入数据过滤器。在

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()

相关问题 更多 >