繁体   English   中英

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

[英]'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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM