我目前正在從事一個(gè)需要整理 OSM 數(shù)據(jù)(Udacity 課程)并將其添加到 SQLite 數(shù)據(jù)集以供查詢的項(xiàng)目。我目前正在嘗試使用以下函數(shù)將“.csv”文件添加到現(xiàn)有 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()但是,每次我嘗試執(zhí)行它時(shí)都會出現(xiàn)以下錯(cuò)誤:KeyError: 'id'我很困惑為什么我會收到這個(gè)錯(cuò)誤。也許是我整天在屏幕上花費(fèi)的時(shí)間。感謝您的任何指導(dǎo)/幫助。
2 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
我發(fā)現(xiàn)了錯(cuò)誤在哪里。事實(shí)上,我為 SQL 數(shù)據(jù)庫準(zhǔn)備的“.csv”文件在每個(gè)值旁邊都有一個(gè)“b”值。這就是為什么它找不到我已經(jīng)確定的密鑰的原因。
為了解決這個(gè)問題,我將我的 osm 修改為 csv 函數(shù),以便正確創(chuàng)建 csv。
添加回答
舉報(bào)
0/150
提交
取消