从python sqlite3导出CSV文件

0 python csv sqlite

我已经尝试使用Google几个小时了,很抱歉,如果答案已经存在

这是我到目前为止的内容:

c.execute("SELECT * FROM table")
table = c.fetchall()
print(table)

#to export as csv file
with open("wub.csv", "wb") as write_file:
     cursor = connection.cursor()
          for row in cursor.execute("SELECT * FROM table"):
          write_file.write(row)
Run Code Online (Sandbox Code Playgroud)

但我不断出现错误:

Traceback (most recent call last):
  File "C:/Users/Rachel/Documents/database.py", line 52, in <module>
    write_file.write(row)
TypeError: a bytes-like object is required, not 'tuple'
Run Code Online (Sandbox Code Playgroud)

所以我很确定自己做错了什么-如何将表格正确导出到外部CSV文件?谢谢

编辑: 到Janekmuric

Sci*_*rog 6

import sqlite3
import csv

inpsql3 = sqlite3.connect('input.sql3')
sql3_cursor = inpsql3.cursor()
sql3_cursor.execute('SELECT * FROM clients')
with open('output.csv','w') as out_csv_file:
  csv_out = csv.writer(out_csv_file)
  # write header                        
  csv_out.writerow([d[0] for d in sql3_cursor.description])
  # write data                          
  for result in sql3_cursor:
    csv_out.writerow(result)
inpsql3.close()
Run Code Online (Sandbox Code Playgroud)

请注意使用descriptionsql游标的成员来获取clients表中标头的名称。

当然,您可以修改输入和输出文件的名称。您还可以修改的参数csv.writer

原始作者的标志“ wb”用于写入字节。但是我们没有写字节。