如何将numpy中的值插入到具有给定列的sql数据库中?

Posted

技术标签:

【中文标题】如何将numpy中的值插入到具有给定列的sql数据库中?【英文标题】:How to insert values from numpy into sql database with given columns? 【发布时间】:2018-08-14 21:02:55 【问题描述】:

我需要在 Mariadb 的表中插入一些列。表名为 Customer,有 6 列,A、B、C、D、E、F。主键在第一列,B 列有地址,C、D 和 E 包含 None 值,F 是邮政编码。

我有一个遵循类似格式的熊猫数据框。我通过执行以下操作将其转换为 numpy 数组:

data = df.iloc[:,1:4].values

因此数据是一个包含 3 列的 numpy 数组,我需要将其插入 C、D 和 E。我试过了:

query = """
Insert Into Customer (C,D,E) VALUES (?,?,?)
"""
cur.executemany(query,data)
cur.commit()

但我得到一个错误:

The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

【问题讨论】:

【参考方案1】:

我解决了。虽然很慢...

query = """
Alter Customer SET
C = %s
D = %s
E = %s
where A = %s
"""

for row in data:
    cur.execute(query,args=(row[1],row[2],row[3],row[0])
con.commit()

【讨论】:

以上是关于如何将numpy中的值插入到具有给定列的sql数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将当前日期和时间插入到具有 DateTime 类型列的 SQL Server 表中?

SQL:根据另一列的值在列上保留一个具有最大值的行

在 Teradata SQL 中查找给定列的哪些行具有不同的值

SQL - 为给定列中的值获取另一列的值

怎样将sql数据库中同一表中的一列数据更改为另外一列的数据?

如何将 DataFrame 列的值插入列表