如何在数据库中插入熊猫数据帧返回的多个值



如何在DF中插入多个值,例如:

INSERT INTO points_data (name, address, email, phone, profession)
VALUES ("bob", "street", any@any, 1234, dev),("bob", "street", any@any, 1234, dev),("bob", "street", any@any, 1234, dev);

VALUES何时来自熊猫数据库?我没有找到将pd数据库转换为元组的方法,我总是得到嵌套列表之类的东西。。。

也许用了奇果?

编辑:

好吧,我已经做到了";提取物";理解数据库中的值:

df = pd.DataFrame({'id1': [0, 1, 2, 3, 4],
'id2': [5, 6, 7, 8, 9],
'id3': [5, 6, 7, 8, 9],
'id4': [5, 6, 7, 8, 9],
'id5': [5, 6, 7, 8, 9],
'id6': [5, 6, 7, 8, 9],
'id7': [5, 6, 7, 8, 9],})
# Iterating over multiple columns - differing data type
result = [(row[0], row[1],row[2],row[3],row[4],row[5], row[6]) for row in zip(df['id1'], df['id2'], df['id3'], df['id4'], df['id5'], df['id6'], df['id7'])]
result = tuple(result)
print(result)
((0, 5, 5, 5, 5, 5, 5), (1, 6, 6, 6, 6, 6, 6), (2, 7, 7, 7, 7, 7, 7), (3, 8, 8, 8, 8, 8, 8), (4, 9, 9, 9, 9, 9, 9))

现在,问题是行数不是固定的,所以这在这个例子中是有效的。有没有一种方法可以得到行";"自动";,根据提供的行数?

df.values将把您的数据帧转换为numpy数组,您可以将其转换为元组:

tuple(map(tuple, df.values))

输出:

((0, 5, 5, 5, 5, 5, 5), (1, 6, 6, 6, 6, 6, 6), (2, 7, 7, 7, 7, 7, 7), (3, 8, 8, 8, 8, 8, 8), (4, 9, 9, 9, 9, 9, 9))

最新更新