2017-07-24 42 views
0

我想获取sqlite3数据库内的表,并将它们保存到tsv文件中。如何将python代码中的sqlilte3数据库转换为tsv?

熊猫有工具可以做到吗?

我知道如何从源码做到这一点:

sqlite> .mode tabs 
sqlite> .output test1.tsv 
sqlite> Select * from <table_name>; 

,但如何做到在Python环境的samething?

+0

解决这个问题的关键是迭代。迭代遍历表,每次迭代写入tsv。有很多这两个例子。 Tutorials Point对sqlite + Python有很好的帮助。 – diek

回答

2

TSV ==制表符分隔的值,所以内置的csv模块足以导出您的数据。一些简单的:

import csv 
import sqlite3 

connection = sqlite3.connect("your_database.db") # open connection to your database 
cursor = connection.cursor() # get a cursor for it 
cursor.execute("SELECT * FROM your_table_name") # execute the query 
rows = cursor.fetchall() # collect the data 
with open("test1.tsv", "wb") as f: # On Python 3.x use "w" mode and newline="" 
    writer = csv.writer(f, delimiter="\t") # create a CSV writer, tab delimited 
    writer.writerows(rows) # write your SQLite data 

应该做的伎俩。