【问题标题】:Multiple External Processes Reading From the Same Data Source从同一数据源读取的多个外部进程
【发布时间】:2020-12-03 02:45:13
【问题描述】:

我的情况是,我有多个源需要从同一个(小尺寸)数据源中读取,可能同时读取。例如,多台不同的计算机调用需要从外部数据源(例如 excel 文件)读取的函数。由于涉及多个不同的来源,我不能简单地从数据源中读取一次并将其传递给函数——它必须在函数中加载。

是否有可以有效处理此问题的数据源?对于需要读取的信息,pandas 数据框是一种可接受的格式,因此我尝试将该数据框存储在 sqlite3 数据库中,因为根据 sqlite3 网站,sqlite3 数据库可以处理并发读取。不幸的是,它经常失败。我尝试了多次不同的迭代,但根本无法让它工作。

是否有另一种可以工作/有效的数据格式/来源?我尝试在互联网上搜索像 excel 文件 + pandas read_excel 函数这样简单的东西是否可以处理这种类型的并发,但我找不到信息。我尝试了一个使用多处理池同时加载同一个非常大(即 1 分钟加载)的 excel 文件的实验,它没有崩溃。但当然,这并不是一个完美的实验。

谢谢!

【问题讨论】:

    标签: python pandas io multiprocessing


    【解决方案1】:

    您可以尝试使用openpyxl's read-only mode。它使用生成器而不是加载整个文件。
    也可以看看processing large xlsx file in python

    【讨论】:

      猜你喜欢
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      相关资源
      最近更新 更多