Sqlite3python – 从sqlite导出到csv文本文件不超过20k

Sqlite3python – 从sqlite导出到csv文本文件不超过20k,第1张

概述我试图将sqlite表导出到文本文件,我在这个网站上找到了一些很好的帮助.它适用于较小的输出,但一旦达到约20k,它似乎限制了输出. 第一次尝试是: Mark Bells UniCodeWriter发现于 It is possible export table sqlite3 table to csv or similiar? 我的表有15列,我刚刚在这里列出了5列,以便于阅读 writer = 我试图将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,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

第4次尝试/测试:

response = cursor.execute("SELECT RunID,Period FROM tblTest WHERE RunID <>0")print response

结果

在尝试1:
 我得到了183条完整记录的输出和184条记录的第一列

在尝试2和3中:
 我得到181个完整记录的输出和182个的一些列

在尝试4:
我在屏幕上获得了所有数据

当我检查sqlite数据库时,我看到205条记录.我知道我一次只能输出100行,但我想知道为什么我没有输出所有的行

解决方法 您可以尝试使用 pandas加载sql数据,然后将其转储到csv中.您必须安装依赖项(尤其是NumPy)才能使用它.那真的很简单:

import sqlite3import pandas.io.sql as sqlcon = sqlite3.connect('database.db')table = sql.read_frame('select * from some_table',con)table.to_csv('output.csv')
总结

以上是内存溢出为你收集整理的Sqlite3 / python – 从sqlite导出到csv文本文件不超过20k全部内容,希望文章能够帮你解决Sqlite3 / python – 从sqlite导出到csv文本文件不超过20k所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1156110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存