【问题标题】:writing to csv from cursor.fetchall() in python在 python 中从 cursor.fetchall() 写入 csv
【发布时间】:2020-08-07 21:00:49
【问题描述】:

我正在尝试使用 writerow,使用 python 的 sqlite3 包将 fetchall 结果写入 csv 文件

import sqlite3
import time,csv
s=time.time()
con = sqlite3.connect("dreamtool.db")
cur = con.cursor()

cur.execute("select * from result3")
result = cur.fetchall()

c = csv.writer(open("temp.csv","wb"))
c.writerow(result)

e=time.time()

con.close()
print(e-s)

我收到错误,因为需要类似字节的对象,而不是 'str'

【问题讨论】:

    标签: python sqlite csv


    【解决方案1】:

    用途:

    c = csv.writer(open("temp.csv","w"))
    c.writerows(result)
    

    将模式设置为"wb"意味着您要写入字节级信息,这不是您所拥有的。

    【讨论】:

    • 数据被添加到上一个单元格的右侧,有什么办法可以避免这种情况吗? writerow 正在将整个数据写入单行
    • 我已将其更新为使用writerows,错过了您使用fetchall 的事实,现在就来试试吧
    • 如何在创建 csv 文件时添加列名
    • 在打电话给c.writerows(result)之前有一个c.writerow(listOfColumnNames)
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多