从我读过这是一个常见的错误 - 我正在阅读一个制表符分隔的文本文件到一个sqlite数据库,而有15列,在一些行,没有数据。例如,这里是我的文本文件的块我读:错误与sqlite和python-提供的绑定数量不正确
http://www.vta.org/schedules/tdl/SC_902NO_WK.tdl
我只是在实际时间阅读。问题是,例如,不是每一个栏完全充满的时间,这就是为什么我得到
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses >15, and there are 8 supplied.
如何处理文本文件中的空值?
这里是我的代码
import sqlite3 as lite
import sys
import csv
con = lite.connect('vta.db')
with con:
cur = con.cursor()
cur.execute('DROP TABLE IF EXISTS NB_902_Wkdy')
cur.execute("""CREATE TABLE NB_902_Wkdy (Train_Num INT primary key, Winchester TEXT, Bascom TEXT, Fruitdale TEXT, Diridon TEXT,
公约文本,Santa_Clara TEXT,Civic_Center TEXT,地铁TEXT,塔斯曼TEXT,Old_Ironsides TEXT,Fair_Oaks TEXT,洛克希德TEXT,Whisman TEXT,Mountain_View TEXT) “”“)
creader = csv.reader(open('NB_902_Wkdy', 'rb'), delimiter='\t')#, quotechar='|')
for t in creader:
cur.execute('INSERT INTO NB_902_Wkdy VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', t)
creader.close()