在python中从sqlite3数据库写入CSV

SSc*_*ode 5 python csv sqlite

好的,所以我有一个名为cars.db的数据库,它有一个table ==库存,

库存基本上包含

    ('Ford', 'Hiluz', 2),
    ('Ford', 'Tek', 6),
    ('Ford', 'Outlander', 9),
    ('Honda', 'Dualis', 3),
    ('Honday', 'Elantre', 4)
Run Code Online (Sandbox Code Playgroud)

我然后写了这个是为了编辑到csv,但是,我似乎无法解决这个问题,在某些情况下我得到的东西要打印,但它不对,当我尝试修复它时,没有任何打印.有什么建议让我走上正轨吗?

#write table to csv

import sqlite3
import csv

with sqlite3.connect("cars.db") as connection:
    csvWriter = csv.writer(open("output.csv", "w"))
    c = connection.cursor()

    rows = c.fetchall()

    for x in rows:
        csvWriter.writerows(x)
Run Code Online (Sandbox Code Playgroud)

Vik*_*kez 8

你应该这样做:

rows = c.fetchall()
csvWriter.writerows(rows)
Run Code Online (Sandbox Code Playgroud)

如果您遍历行的原因是因为在将它们写入文件之前不想对它们进行预处理,那么请使用以下writerow方法:

rows = c.fetchall()
for row in rows:
    # do your stuff
    csvWriter.writerow(row)
Run Code Online (Sandbox Code Playgroud)