gpt4 book ai didi

python - 使用 Python 快速插入多列到 Sqlite\Mysql

转载 作者:行者123 更新时间:2023-11-29 02:07:20 25 4
gpt4 key购买 nike

如果 Newdata 是 x 列的列表,如何获得唯一列的数量——第一个元组的成员数。 (Len 不重要。)改变“?”的数量。匹配列并使用下面的语句插入。

csr = con.cursor()
csr.execute('Truncate table test.data')
csr.executemany('INSERT INTO test.data VALUES (?,?,?,?)', Newdata)
con.commit()

最佳答案

“新数据是 x 列的列表”,我想你的意思是 x tuples,从那时起你继续谈论“第一个元组”。如果 Newdata 是元组列表,则 y = len(Newdata[0]) 是第一个元组中的项目数。

假设这是你想要的数字(所有元组最好有相同数量的项目,否则 executemany 失败!),@Nathan 的回答中的一般想法是正确的:使用适当数量的逗号分隔问号构建字符串:

holders = ','.join('?' * y)

然后将其插入到 SQL 语句的其余部分。 @Nathan 的插入方式适用于大多数 Python 2.any 版本,但如果您有 2.6 或更高版本,

sql = 'INSERT INTO testdata VALUES({0})'.format(holders)

目前是首选(它也适用于 Python 3.any)。

最后,

csr.executemany(sql, Newdata)

会做你想做的事。完成后记得提交交易!-)

关于python - 使用 Python 快速插入多列到 Sqlite\Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com