我已经尝试使用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
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”用于写入字节。但是我们没有写字节。