繁体   English   中英

使用 sqlite3 将多个列表插入表中

[英]Insert multiple lists into table using sqlite3

我正在尝试将两个列表插入表中,其中一个列表插入一列,另一个列表插入另一列,其中列表 1 中的项目 1 与列表 2 中的项目 1 保存在同一记录中。两个列表的长度是73.

机场 = ['Andrewsfield','Bagby','Beccles'...] icao_codes = ['EGSL','EGNG','EGSM'...]

机场编号 姓名 国际民航组织
1 安德鲁斯菲尔德 EGSL
2 巴格比 EGNG
3 贝克尔斯 EGSM

这是我的代码,但是当我运行它时收到一条错误消息:

Traceback (most recent call last):
  File "main.py", line 33, in <module>
    data_entry()
  File "main.py", line 30, in data_entry
    c.execute("""INSERT INTO Airfields (Name, ICAO) VALUES (?, ?)""", (airfields[count],), (icao_codes[count],))
TypeError: function takes at most 2 arguments (3 given)
def data_entry():
   count = 1
   while count != 73
      c.execute("""INSERT INTO Airfields (Name, ICAO) VALUES (?, ?)""", (airfields[count],), (icao_code[count],))
      count = count + 1

任何帮助,将不胜感激。

    c.execute("""INSERT INTO Airfields (Name, ICAO) VALUES (?, ?)""", (airfields[count],), (icao_codes[count],))
TypeError: function takes at most 2 arguments (3 given)

execute将其值作为一个元组 您已经传递了两个元组, (airfields[count],)(icao_codes[count],) 使用 SQL 语句表示 3 arguments, execute需要 2。

您将对所有值使用一个元组,一组括号: (airfields[count], icao_codes[count])

c.execute("""INSERT INTO Airfields (Name, ICAO) VALUES (?, ?)""", (airfields[count], icao_codes[count]))

注意:您可以使用for x in range更好地编写循环。

 for count in range(1, 72):
   c.execute("""INSERT INTO Airfields (Name, ICAO) VALUES (?, ?)""", (airfields[count], icao_code[count]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM