我有一个制表符分隔的文件格式:
sentenceID (sid) documentID (scid) sentenceText (sent)
例如
100004 100 即便您喜爱流连酒吧,也定然在这轻松安闲的一隅,来一场甜蜜沉醉的约会。
100005 100 您可以慢慢探究菜单上所有的秘密惊喜。
我想用以下模式将它放入 sqlite3:
CREATE TABLE sent (
sid INTEGER PRIMARY KEY,
scid INTEGER,
sent TEXT,
);
有没有一种快速的方法可以使用 sqlite 的 python API ( http://docs.python.org/2/library/sqlite3.html ) 将它们放入表中?
我一直在这样做:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys, codecs
con = lite.connect('mycorpus.db')
with con:
cur = con.cursor()
cur.execute("CREATE TABLE Corpus(sid INT, scid INT, sent TEXT, PRIMARY KEY (sid))")
for line in codecs.read('corpus.tab','r','utf8'):
sid,scid,sent = line.strip().split("\t")
cur.execute("INSERT INTO Corpus VALUES("+sid+","+scid+"'"+sent+"')")