python - 将嵌套字典写入新创建的 SQL 表时面临的问题
问题描述
我需要在新创建的 SQL 表中编写嵌套字典。
我认为我在 SQL 中通过提及它的列来创建新表时犯了一些错误。任何人都可以查看代码并告诉我此步骤是否正确。
db = conn.connect(
host ="Localhost",
user ="root",
passwd ="admin",
database = "EMPLOYEE_DETAILS_00"
)
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS Details ( User_ID VARCHAR(255), Name VARCHAR(255), Age VARCHAR(255) ) ")
我需要将嵌套的 Python 字典写入 SQL 表。我正在尝试通过使用 for 循环来做到这一点。这是我试图运行的代码:
user_details = {}
create_user_ID = input(" Enter the user ID : ")
user_details[create_user_ID] = {}
user_name = input(" Enter the user name : ")
user_details[create_user_ID]['Name'] = user_name
user_age = int(input(" Enter the Age : "))
user_details[create_user_ID]['Age'] = user_age
for v in user_details.values():
cols = v.keys()
vals = v.values()
sql = "INSERT INTO Details ({}) VALUES ({})".format(
', '.join(cols),
', '.join(['%s'] * len(cols)));
cursor.execute(sql, vals)
如果我运行此代码,我会收到以下错误
Error : Couldn't process parameters
任何人都可以查看代码并告诉我我在哪里犯了错误,无论是在创建 SQL 表还是在 FOR 循环中。
提前致谢 !!
解决方案
我认为问题是当您尝试在循环内创建 sql 查询时。试试这个
sql = "INSERT INTO Details {}) VALUES ({})".format(
', '.join(cols),
', '.join(map(str,vals)));
推荐阅读
- python - 如何将颜色作为第三维添加到 matplotlib 散点图?
- python - 如何在 Python 中忽略“KeyError”
- python - 整个数据组除以整体的百分比表示
- python - 使用 pandas 查询具有多字标题的列
- python - 理解 tkinter gui 列表
- linux - 意外标记“换行符”附近的语法错误?
- react-native - 赋值后未定义 onPress on TouchableOpacity
- c - epoll_wait() 成功但返回 -1 个字节
- php - 无法在 xampp 服务器上安装 magento 2
- google-apps-script - 如何添加脚本,如果第一列为空,则执行下一行或什么都不做?