use*_*278 5 python sqlite python-2.7
我试图将sqlite表导出到文本文件,我在这个网站上找到了一些很好的帮助.它适用于较小的输出,但一旦达到约20k,它似乎限制了输出.
Mark Bells发现UniCodeWriter 它可能导出表sqlite3表到csv或类似?
我的表有15列,我刚刚在这里列出了5列,以便于阅读
writer = UnicodeWriter(open("Export8.csv", "wb"))
writer.writerow(["RunID","JobNumber","StartTime","EndTime","Period"])
writer.writerows(results)
Run Code Online (Sandbox Code Playgroud)
response = cursor.execute("SELECT RunID, JobNumber, StartTime, EndTime, strftime('%s',substr(endtime,1,19)) - strftime('%s',substr(starttime,1,19)) FROM tblTest WHERE RunID <>0")
strfile = open('_output1.csv','wb')
for row in response:
print >> strfile,row
Run Code Online (Sandbox Code Playgroud)
strfile = open('_output3.csv','wb')
while True:
row = cursor.fetchone()
if row == None:
break
print >> strfile,row
enter code here
Run Code Online (Sandbox Code Playgroud)
response = cursor.execute("SELECT RunID, JobNumber, StartTime, EndTime, Period FROM tblTest WHERE RunID <>0")
print response
Run Code Online (Sandbox Code Playgroud)
在尝试1中:我得到183个完整记录的输出和184记录的第一列
在尝试2和3中:我得到181个完整记录和182个列的输出
在尝试4中:我在屏幕上获取所有数据
当我检查sqlite数据库时,我看到205条记录.我知道我一次只能输出100行,但我想知道为什么我没有输出所有的行
小智 5
您可以尝试使用pandas加载sql数据,然后将其转储到csv中.您必须安装依赖项(尤其是NumPy)才能使用它.那真的很简单:
import sqlite3
import pandas.io.sql as sql
con = sqlite3.connect('database.db')
table = sql.read_frame('select * from some_table', con)
table.to_csv('output.csv')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7799 次 |
| 最近记录: |