我需要帮助来弄清楚如何将字典键映射到我的MySQL数据库表列。
我希望在MySQL数据库表列中插入字典键值,并且我认为在插入值之前必须先做正确的键-列映射,否则将失败&可能会成功并导致数据损坏。
任何帮助或链接如何做是非常感谢。
发布于 2018-06-14 22:58:40
假设您正在使用SQLAlchemy引擎与MySQL数据库通信,那么您可以使用pandas.to_sql轻松地进行插入。
下面是一个示例代码:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('...') # fill in the connection string
# generate the list of customer dicts
cust1 = {"fname": "john", "lname": "Davis", "custid": 12345, "City": "Houston"}
cust2 = {"fname": "jane", "lname": "Elvis", "custid": 67890, "City": "NewYork"}
customers = [cust1, cust2]
# convert to a DataFrame
df = pd.DataFrame(customers)
# reorder columns so that it is the same as the table
df = df[['fname', 'lname', 'custid', 'City']]
# Do the insert
df.to_sql(table_name, engine, if_exists='append', index=False) 发布于 2018-06-14 23:34:45
如果你使用Sqlalchemy,那么bulk_save_objects会比pandas.to_sql快得多
s = Session()
objects = [
Customer(fname="john"), # map your dict to the ORM class object
Customer(fname="jane")
]
s.bulk_save_objects(objects)
s.commit()http://www.devx.com/dbzone/optimize-inserts-using-sqlalchemy.html
https://stackoverflow.com/questions/50856762
复制相似问题