【问题标题】:How to unpack a list of tuples in python and insert into a table?如何在python中解压元组列表并插入表中?
【发布时间】:2021-04-18 14:52:16
【问题描述】:

我有一个元组列表,我想将它插入到 SQL Server 表中

[(1, 1, 0, 0, False),
 (1, 2, 0, 0, False),
 (1, 3, 0, 0, False),
 (1, 4, 4, 0, False),
 (1, 5, 0, 0, False),
 (1, 6, 1, 0, False),
 (2, 1, 4, 0, False),
 (2, 2, 1, 0, False),
 (2, 3, 0, 15, False)]

我也在尝试插入时间戳列

now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

我的最终输出是

col1  col2 col3 col4  col5    timestamp
1       1    0    0   False   2021-04-18 20:16:25
... and so on

【问题讨论】:

  • 也添加您尝试的代码
  • 根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。

标签: python sql-server pyodbc


【解决方案1】:

你可以:

import sqlite3

conn = sqlite3.connect('C:\\test.db')
stmt = "insert into table_name (col1,col2,col3,col4,col5) values (?, ?, ?, ?, ?)"

cur = conn.cursor()
## many rows
vals = [(1, 1, 0, 0, False),
 (1, 2, 0, 0, False),
 (1, 3, 0, 0, False),
 (1, 4, 4, 0, False),
 (1, 5, 0, 0, False),
 (1, 6, 1, 0, False),
 (2, 1, 4, 0, False),
 (2, 2, 1, 0, False),
 (2, 3, 0, 15, False)]

cur.executemany(stmt, vals)
cur.close()

【讨论】:

  • … 如果你想包含当前日期/时间,你可以使用"insert into table_name (col1,col2,col3,col4,col5,[timestamp]) values (?, ?, ?, ?, ?, CURRENT_TIMESTAMP)"
  • (请注意,问题标记为sql-server,而不是sqlite。)
猜你喜欢
  • 2014-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
相关资源
最近更新 更多