gpt4 book ai didi

python - Sqlite3/python - 从 sqlite 导出到 csv 文本文件不超过 20k

转载 作者:IT王子 更新时间:2023-10-29 06:28:15 25 4
gpt4 key购买 nike

我正在尝试将 sqlite 表导出到文本文件,我在这个站点上找到了一些很好的帮助。它适用于较小的输出,但一旦我达到 20k 左右,它似乎会限制输出。

第一次尝试是:

将 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 行,但我想知道为什么我没有输出所有行

最佳答案

您可以尝试使用 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')

关于python - Sqlite3/python - 从 sqlite 导出到 csv 文本文件不超过 20k,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17556450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com