一尘不染

如何在Python中从数据库创建CSV文件?

mysql

我有一个名为“ clients”的Sqlite 3和/或MySQL表。

使用python 2.6,如何创建带有标题的名为Clients100914.csv的csv文件?excel方言…

Sql execute:select *仅提供表数据,但是我想要带有标题的完整表。

如何创建记录集以获取表头。表头应该直接来自不是用python编写的sql。

w = csv.writer(open(Fn,'wb'),dialect='excel')
#w.writelines("header_row")
#Fetch into sqld
w.writerows(sqld)

这段代码使我无法打开文件,也没有标题。也无法弄清楚如何使用文件作为日志。


阅读 395

收藏
2020-05-17

共1个答案

一尘不染

import csv
import sqlite3

from glob import glob; from os.path import expanduser
conn = sqlite3.connect( # open "places.sqlite" from one of the Firefox profiles
    glob(expanduser('~/.mozilla/firefox/*/places.sqlite'))[0]
)
cursor = conn.cursor()
cursor.execute("select * from moz_places;")
#with open("out.csv", "w", newline='') as csv_file:  # Python 3 version    
with open("out.csv", "wb") as csv_file:              # Python 2 version
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow([i[0] for i in cursor.description]) # write headers
    csv_writer.writerows(cursor)

PEP 249(DB API
2.0)
具有有关的更多信息cursor.description

2020-05-17