【发布时间】:2021-03-29 23:52:55
【问题描述】:
第一季度。我的数据库包含 3 列:时间、值 A 和值 B。时间数据以 00:00:00 的形式写入,增量为 1 分钟。 当我尝试导入数据时... cursor.execute (f"SELECT * FROM trffc_int_data.{i};") 而不是得到(00:00:00,A,B),我得到 (datetime.timedelta(0), 7, 2), (datetime.timedelta(seconds=60), 8, 5), .....
我想 Python 不能正确转换时间。有什么建议吗?
第二季度。我有一个包含上述数据的初始数据库。我需要从初始数据库中获取数据,对其进行转换,然后将其保存到另一个数据库中。 我被困在应该将数据保存到新表中的地步。 以下是部分代码...
# Creating new DB
NewDB = input(" :: Enter the Database name : ")
sqlsynt = f"CREATE DATABASE IF NOT EXISTS {NewDB}"
cursor.execute(sqlsynt,NewDB)
stdb.commit()
# Creating table and writing the data
cursor.execute (f"USE {NewDB}")
sqlsynt = f"CREATE TABLE {dayinweek} (time TIME, Vehicles INT(3), Pedestrians INT(3))"
cursor.execute (sqlsynt, NewDB, dayinweek)
#stdb.commit()
sqlsyntax = f"INSERT INTO {NewDB}.{dayinweek} (time, Vehicles, Pedestrians) VALUES (%s, %s, %s)"
cursor.executemany(sqlsyntax, temp_list_day)
程序卡在最后一行说NewDB中没有表1!
mysql.connector.errors.ProgrammingError: 1146 (42S02): Table 'test001.1' doesn't exist
代码有什么问题?也许问题在于混合 f 和 %s 格式?
提前致谢
【问题讨论】:
标签: python mysql sql sql-insert create-table