[英]'KeyError' while filling an SQL table with CSV data
我目前正在开展一个需要整理 OSM 数据(Udacity 课程)的项目,并将其添加到 SQLite 数据集以供查询。
我目前正在尝试使用以下 function 将“.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'
我很困惑为什么我会收到这个错误。 也许是我整天在屏幕上花费的时间。
感谢您的任何指导/帮助。
id 是你的索引吗?
df.reset_index(drop=False)
我发现错误在哪里。 事实上,我为 SQL 数据库准备的“.csv”文件在每个值旁边都有一个“b”值。 这就是为什么它找不到我已经确定的密钥的原因。
为了解决这个问题,我将我的 osm 修改为 csv 函数,以便正确创建 csv。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.