0

使脚本采用 CSV(带有 n 列)并将它们添加到 sqlite db 的最佳方法是什么?

这是我到目前为止所拥有的-

def export_to_db():
    conn = sqlite3.connect(config.DB_NAME)
    cur = conn.cursor()
    table_name = config.TABLE_NAME
    with open(config.IMPORT_FILENAME, 'rb') as csvfile:
        tablerows = csv.reader(csvfile, delimiter=',')
        header = True # make this configurable
        for row in tablerows:
            if header:
                header = False
            else:
                cur.execute("INSERT INTO <tablename> VALUES(?, ?, ?, ?)", tuple(row)) 
                # I want the number of columns to be same as teh number of columns in CSV.              
    conn.commit()
    cur.execute("SELECT COUNT(*) from people")
    print str(cur.fetchone()[0]) + " rows added!"
    conn.close()
4

1 回答 1

0

显而易见的解决方案是使列数可配置(调用者应该知道,不是吗?)然后基于此信息构建您的插入语句。如果您不知道如何操作,请阅读 FineManual 关于字符串格式的部分。

于 2013-10-10T11:23:41.403 回答