[英]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.