You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python将多列表数据按对应结构写入数据库

合并列表数据并写入数据库的实现方法

步骤1:合并三个列表的对应数据

先把三个列表中同一位置的字典合并,得到包含完整字段的结构化数据:

frame1 = [{'CAR': 'MAZDA'}, {'CAR': 'Ferrari'}, {'CAR': 'BMW'}]
frame2 = [{'country':'India'}, {'country':'Spain'}, {'country':'Mexico'}]
frame3 = [{'year': '2022'}, {'year': '2021'}, {'year': '2020'}]

# 合并对应位置的字典
merged_data = []
for car, country, year in zip(frame1, frame2, frame3):
    merged = {**car, **country, **year}
    merged_data.append(merged)

步骤2:写入数据库(以SQLite为例)

用Python内置的sqlite3模块创建表并插入合并后的数据:

import sqlite3

# 连接数据库(文件不存在则自动创建)
conn = sqlite3.connect('cars_database.db')
cursor = conn.cursor()

# 创建目标表
cursor.execute('''
CREATE TABLE IF NOT EXISTS vehicle_info (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    CAR TEXT NOT NULL,
    country TEXT NOT NULL,
    year TEXT NOT NULL
)
''')

# 批量插入数据
insert_sql = 'INSERT INTO vehicle_info (CAR, country, year) VALUES (:CAR, :country, :year)'
cursor.executemany(insert_sql, merged_data)

# 提交更改并关闭连接
conn.commit()
conn.close()

验证数据是否正确写入

执行查询语句确认结果:

conn = sqlite3.connect('cars_database.db')
cursor = conn.cursor()

cursor.execute('SELECT * FROM vehicle_info')
results = cursor.fetchall()

# 格式化打印查询结果
print("id |    CAR   | country | year")
print("-------------------------------")
for row in results:
    print(f"{row[0]} | {row[1]:<8} | {row[2]:<7} | {row[3]}")

conn.close()

执行后输出:

id |    CAR   | country | year
-------------------------------
1 | MAZDA    | India   | 2022
2 | Ferrari  | Spain   | 2021
3 | BMW      | Mexico  | 2020

内容的提问来源于stack exchange,提问作者Krya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:55:03