Sqlite3 / python – 从sqlite导出到csv文本文件不超过20k
发布时间:2020-12-12 18:57:56 所属栏目:百科 来源:网络整理
导读:我试图将sqlite表导出到文本文件,我在这个网站上找到了一些很好的帮助.它适用于较小的输出,但一旦达到约20k,它似乎限制了输出. 第一次尝试是: Mark Bells UniCodeWriter发现于 It is possible export table sqlite3 table to csv or similiar? 我的表有15列
我试图将sqlite表导出到文本文件,我在这个网站上找到了一些很好的帮助.它适用于较小的输出,但一旦达到约20k,它似乎限制了输出.
第一次尝试是: Mark Bells UniCodeWriter发现于 我的表有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: 在尝试2和3中: 在尝试4: 当我检查sqlite数据库时,我看到205条记录.我知道我一次只能输出100行,但我想知道为什么我没有输出所有的行 解决方法您可以尝试使用 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') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |