【发布时间】:2013-07-09 19:21:51
【问题描述】:
我正在尝试将 sqlite 表导出到文本文件,我在这个站点上找到了一些很大的帮助。它适用于较小的输出,但一旦我达到 20k 左右,它似乎会限制输出。
第一次尝试是:
Mark Bells UniCodeWriter 见于 It is possible export table sqlite3 table to csv or similiar?
我的表格有 15 列,我在这里只列出了 5 列,以便于阅读
writer = UnicodeWriter(open("Export8.csv", "wb"))
writer.writerow(["RunID","JobNumber","StartTime","EndTime","Period"])
writer.writerows(results)
第二次尝试是:
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
第三次尝试是:
strfile = open('_output3.csv','wb')
while True:
row = cursor.fetchone()
if row == None:
break
print >> strfile,row
enter code here
第四次尝试/测试:
response = cursor.execute("SELECT RunID, JobNumber, StartTime, EndTime, Period FROM tblTest WHERE RunID <>0")
print response
结果
在尝试 1 中: 我得到了 183 条完整记录的输出和 184 条记录的第一列
在尝试 2 和 3 中: 我得到了 181 条完整记录的输出和 182 的一些列
在尝试 4 中: 我的所有数据都显示在屏幕上
当我检查 sqlite 数据库时,我看到 205 条记录。我知道我一次只能输出 100 行,但我想知道为什么我没有输出所有行
【问题讨论】:
-
我使用 WinPython 和 spyder 进行了编程。现在我直接在Python27的IDLE中运行,输出是正确的。
标签: python python-2.7 sqlite