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

如何将机场JSON数组批量导入SQLite数据库?

批量导入JSON机场数据到SQLite的方法

方法一:SQLite命令行直接导入(需SQLite 3.37.0+)

先把你的JSON内容整理成标准数组格式(将所有对象包裹在[]中),保存为airports.json文件。

打开SQLite命令行并连接到目标数据库:

sqlite3 your_database.db

根据你的SQLite版本,执行对应SQL语句:

  • 若版本≥3.38.0,使用json_read直接读取文件:
INSERT INTO airports (icao, name, latitude, longitude)
SELECT 
  json_extract(value, '$.icao'),
  json_extract(value, '$.name'),
  json_extract(value, '$.latitude'),
  json_extract(value, '$.longitude')
FROM json_read('airports.json');
  • 若版本在3.37.0~3.37.1之间,用readfile配合json_each解析:
INSERT INTO airports (icao, name, latitude, longitude)
SELECT 
  json_extract(value, '$.icao'),
  json_extract(value, '$.name'),
  json_extract(value, '$.latitude'),
  json_extract(value, '$.longitude')
FROM json_each(readfile('airports.json'));

方法二:Python脚本批量导入(兼容所有版本)

如果你的SQLite版本过低不支持JSON函数,或者需要灵活处理数据,用Python脚本更稳妥:

  1. 创建import_airports.py脚本:
import sqlite3
import json

# 读取JSON数据
with open('airports.json', 'r', encoding='utf-8') as f:
    airport_list = json.load(f)

# 连接SQLite数据库
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()

# 批量插入数据
insert_sql = '''
INSERT INTO airports (icao, name, latitude, longitude)
VALUES (?, ?, ?, ?)
'''
data_rows = [
    (airport['icao'], airport['name'], airport['latitude'], airport['longitude'])
    for airport in airport_list
]
cursor.executemany(insert_sql, data_rows)

# 提交更改并关闭连接
conn.commit()
conn.close()
  1. 运行脚本完成导入:
python import_airports.py

注意事项

  • 确保JSON文件格式正确,每个对象的键与表字段完全对应;若存在缺失字段,可改用airport.get('字段名', None)处理空值。
  • 若表中icao是主键,需确保JSON中该字段无重复值,否则插入会触发约束错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:01:02