为了账号安全,请及时绑定邮箱和手机立即绑定

用 CSV 数据填充 SQL 表时出现“KeyError”

用 CSV 数据填充 SQL 表时出现“KeyError”

小唯快跑啊 2022-10-06 19:59:49
我目前正在从事一个需要整理 OSM 数据(Udacity 课程)并将其添加到 SQLite 数据集以供查询的项目。我目前正在尝试使用以下函数将“.csv”文件添加到现有 SQL 表中:with open('crawley_nodes.csv','r', encoding = 'utf-8') as fin:    dr = csv.DictReader(fin)    to_db = [(i['id'], i['lat'], i['lon'], i['user'], i['uid'], i['version'], i['changeset'], i['timestamp']) for i in dr]    cur.executemany("INSERT INTO nodes(id, lat, lon, user, uid, version, changeset, timestamp) VALUES (?,?,?,?,?,?,?,?);", to_db)conn.commit()但是,每次我尝试执行它时都会出现以下错误:KeyError: 'id'我很困惑为什么我会收到这个错误。也许是我整天在屏幕上花费的时间。感谢您的任何指导/帮助。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

id 是你的索引吗?

df.reset_index(drop=False)


查看完整回答
反对 回复 2022-10-06
?
萧十郎

TA贡献1815条经验 获得超13个赞

我发现了错误在哪里。事实上,我为 SQL 数据库准备的“.csv”文件在每个值旁边都有一个“b”值。这就是为什么它找不到我已经确定的密钥的原因。

为了解决这个问题,我将我的 osm 修改为 csv 函数,以便正确创建 csv。


查看完整回答
反对 回复 2022-10-06
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信