0
我想获取sqlite3数据库内的表,并将它们保存到tsv文件中。如何将python代码中的sqlilte3数据库转换为tsv?
熊猫有工具可以做到吗?
我知道如何从源码做到这一点:
sqlite> .mode tabs
sqlite> .output test1.tsv
sqlite> Select * from <table_name>;
,但如何做到在Python环境的samething?
我想获取sqlite3数据库内的表,并将它们保存到tsv文件中。如何将python代码中的sqlilte3数据库转换为tsv?
熊猫有工具可以做到吗?
我知道如何从源码做到这一点:
sqlite> .mode tabs
sqlite> .output test1.tsv
sqlite> Select * from <table_name>;
,但如何做到在Python环境的samething?
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
应该做的伎俩。
解决这个问题的关键是迭代。迭代遍历表,每次迭代写入tsv。有很多这两个例子。 Tutorials Point对sqlite + Python有很好的帮助。 – diek