【问题标题】:Trying to transfer the output data from multiple python scripts to SQLite3尝试将输出数据从多个 python 脚本传输到 SQLite3
【发布时间】:2019-06-01 00:26:14
【问题描述】:

我同时运行 12 个不同的 Python 脚本,以每小时从数千个数据点中筛选给定标准。

我想将输出数据保存到“主 csv 文件”,但认为将数据放入 SQLite3 会更好,因为我会被 csv 文件淹没。

我正在尝试将输出直接传输到 SQLite3。

到目前为止,这是我的脚本:

    symbol = []

    with open(r'c:\\Users\\Desktop\\Results.csv') as f: 
        for line in f:
            symbol.append(line.strip())
    f.close

    path_out = (r'c:\\Users\\Desktop\\Results.csv')

    i=0

【问题讨论】:

  • 欢迎来到stackoverflow。请使用链接指南reformat your code。正确格式化您的帖子会增加您收到建设性回复的可能性。

标签: database python-3.x csv sqlite output


【解决方案1】:

当您 can use a sqlite database concurrently 时,它可能会大大减慢您的流程。

每当程序想要写入数据库文件时,整个数据库都必须被锁定

当 SQLite 尝试访问被另一个进程锁定的文件时,默认行为是返回 SQLITE_BUSY。

因此,您的 12 个进程中可能会有不止一个进程等待数据库可用,因为其中一个正在写入。

基本上,并发读/写访问是 PostgreSQL 等客户端/服务器数据库的用途。它不是 sqlite 的主要用例。

因此,在我看来,让十二个程序各自编写一个单独的 CSV 文件并在以后合并它们可能不是一个糟糕的选择。无论如何,这比设置 PostgreSQL 服务器要容易得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 2020-09-21
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多