下面是将数据从列表Applestore插入到数据库ios.db中创建的Applestore表的代码
import sqlite3
connection = sqlite3.connect("ios.db")
cursor = connection.cursor()
for p in appstore[1:]:
format_str = """INSERT INTO Applestore (id, track_name, size_bytes, currency, price, rating_count_tot, rating_count_ver, user_rating, user_rating_ver, ver, cont_rating, prime_genre, sup_devices_num, ipadSc_url, lang_num, vpp_lic)
VALUES ("{id}", "{track_name}", "{size_bytes}", "{currency}", "{price}", "{rating_count_tot}", "{rating_count_ver}", "{user_rating}", "{user_rating_ver}", "{ver}", "{cont_rating}", "{prime_genre}", "{sup_devices_num}", "{ipadSc_url}", "{lang_num}", "{vpp_lic}");"""
sql_command = format_str.format(id = p[0],track_name = p[1],size_bytes = p[2],currency = p[3],price = p[4],rating_count_tot = p[5],rating_count_ver = p[6], user_rating = p[7], user_rating_ver = p[8], ver = p[9], cont_rating = p[10], prime_genre = p[11], sup_devices_num = p[12], ipadSc_url = p[13], lang_num = p[14], vpp_lic = p[15])
cursor.execute(sql_command)
connection.commit()
connection.close()这只输出最后一行
import sqlite3
connection = sqlite3.connect("ios.db")
cursor = connection.cursor()
cursor.execute("""SELECT * FROM Applestore""")
print("fetchall:")
result = cursor.fetchall()
for r in result:
print(r)添加上述建议后,代码如下所示:
import sqlite3
connection = sqlite3.connect("ios.db")
cursor = connection.cursor()
for p in appstore:
format_str = """INSERT INTO Applestore (id, track_name, size_bytes, currency, price, rating_count_tot, rating_count_ver, user_rating, user_rating_ver, ver, cont_rating, prime_genre, sup_devices_num, ipadSc_url, lang_num, vpp_lic)
VALUES (id, track_name, size_bytes, currency, price, rating_count_tot, rating_count_ver, user_rating, user_rating_ver, ver, cont_rating, prime_genre, sup_devices_num, ipadSc_url, lang_num, vpp_lic);"""
#sql_command = format_str.format(id = p[0],track_name = p[1],size_bytes = p[2],currency = p[3],price = p[4],rating_count_tot = p[5],rating_count_ver = p[6], user_rating = p[7], user_rating_ver = p[8], ver = p[9], cont_rating = p[10], prime_genre = p[11], sup_devices_num = p[12], ipadSc_url = p[13], lang_num = p[14], vpp_lic = p[15])
cursor.execute(format_str, (*p[1:16]))
connection.commit()
connetion.close()错误:函数最多接受2个参数(给定17个)
发布于 2019-12-24 02:14:16
每次在for循环中循环时,都会覆盖SQL命令。
您可以将cursor.execute(sql_command)放在sql_command = ...正下方的for循环中
https://stackoverflow.com/questions/59459603
复制相似问题