当前位置: 首页 > 面试题库 >

如何将现有的数据库文件加载到Python sqlite3中的内存中?

邹昊
2023-03-14
问题内容

我有一个现有的sqlite3db文件,需要在其上进行一些广泛的计算。从文件进行计算非常缓慢,并且文件不大(〜10 MB),因此将其加载到内存应该没有问题。

是否有Python方式将现有文件加载到内存中以加快计算速度?


问题答案:

这是我为flask应用程序编写的代码段:

import sqlite3
from io import StringIO

def init_sqlite_db(app):
    # Read database to tempfile
    con = sqlite3.connect(app.config['SQLITE_DATABASE'])
    tempfile = StringIO()
    for line in con.iterdump():
        tempfile.write('%s\n' % line)
    con.close()
    tempfile.seek(0)

    # Create a database in memory and import from tempfile
    app.sqlite = sqlite3.connect(":memory:")
    app.sqlite.cursor().executescript(tempfile.read())
    app.sqlite.commit()
    app.sqlite.row_factory = sqlite3.Row


 类似资料:
  • 问题内容: 我想知道是否可以使用函数将数据框添加到现有的csv文件中。csv文件与加载的数据具有相同的结构。 问题答案: 你可以在函数中指定python写入模式。对于追加,它是。 在你的情况下: 默认模式为。

  • 我已经通读了Flyway(2.1.1)留档,我只是想澄清一点… 我将当前的DDL从生产数据库转储到一个文件V1__baseddl.sql中。我验证了我们的QA数据库有一个与生产相匹配的模式。 我现在想把我们的QA数据库置于Flyway管理之下(接着是生产)。我们通过API使用Flyway。我调用了flyway.setInitVersion(1),然后是flyway.init(),我希望它能找到V1

  • 问题内容: 我想在数据库中使用csv文件 问题答案: 由于SQLAlchemy的强大功能,我还在项目中使用了它。它的强大功能来自于与数据库“对话”的面向对象的方式,而不是硬编码难以管理的SQL语句。更不用说,它也快很多。 坦率地回答您的问题,是的!使用SQLAlchemy将数据从CSV存储到数据库中简直是小菜一碟。这是一个完整的工作示例(我使用了SQLAlchemy 1.0.6和Python 2.

  • 问题内容: 如我所见,java mongo驱动程序不提供从现有gridFS文件获取的功能 我必须直接创建或使用方法。 是否缺少Java驱动程序或gridfs的限制? 除了创建新文件/删除旧文件之外,您能否建议其他解决方法? 谢谢 问题答案: GridFS不是MongoDB的核心功能,而是存储带有随附元数据的二进制数据的约定。您应该能够以通常的方式修改集合中的任何文档,同时保持相应文档的完整性。主要

  • 问题内容: 有人可以向我解释如何将WAR文件添加到EAR吗?我有一个已经包含一个WAR文件的EAR文件,我有另一个我想添加到该EAR的WAR文件,因此它可以同时包含两个WAR并正常工作。 我不知道该怎么做,但我认为可以手动更改EAR中包含的application.xml文件。 谢谢! 问题答案: 假设EAR文件中尚未包含WAR文件,则可以使用常见的zip实用程序在EAR文件中添加WAR文件。 请注

  • 问题内容: 我在Web应用程序的根目录有一个文本文件,我想将其加载到javascript .. groovy中的变量中,我可以这样做: 如何在javascript中获得类似的结果? 问题答案: XMLHttpRequest,即AJAX,不带XML。 具体执行的方式取决于您使用的JavaScript框架,但是如果我们忽略互操作性问题,您的代码将类似于: 但是,通常来讲,并不是所有平台上都提供XMLH