首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字典键映射到Mysql数据库表列

问将字典键映射到Mysql数据库表列
EN

Stack Overflow用户
提问于 2018-06-14 19:42:36
回答 2查看 725关注 0票数 0

我需要帮助来弄清楚如何将字典键映射到我的MySQL数据库表列。

我希望在MySQL数据库表列中插入字典键值,并且我认为在插入值之前必须先做正确的键-列映射,否则将失败&可能会成功并导致数据损坏。

任何帮助或链接如何做是非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2018-06-14 22:58:40

假设您正在使用SQLAlchemy引擎与MySQL数据库通信,那么您可以使用pandas.to_sql轻松地进行插入。

下面是一个示例代码:

代码语言:javascript
复制
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)  
票数 0
EN

Stack Overflow用户

发布于 2018-06-14 23:34:45

如果你使用Sqlalchemy,那么bulk_save_objects会比pandas.to_sql快得多

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50856762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档