从内存中的多个SQLite数据库创建SQLAlchemy引擎

时间:2015-01-12 08:13:43

标签: python database sqlite pandas sqlalchemy

我对数据库一般都是新手,所以请原谅我的问题,如果它非常简单。现在,我必须开展一项任务,从数据库中的数据进行分析和可视化。我被迫使用遗留代码,所以我的方法是这样的:

  1. 在内存中创建一个SQLite数据库(称之为A)(我必须这样做,因为我获得了大量的SQL脚本)

  2. 在内存中再次创建另一个不同的SQLite数据库(称之为B)。通过一些循环,查询和从数据库A中提取信息,对它们进行一些组合,并将它们插入数据库B.数据库B现在是我们将从中获取数据以执行分析的数据库。

  3. 从第3步和第4步开始,我想切换到Python的pandas,这是旧代码没有的新举措。

    1. 将整个SQLite数据库B转换为Python pandas DataFrame对象

    2. 从DataFrame对象获取的数据执行分析(我不想继续使用SQLite数据库进行这些分析,因为每次需要提取我需要的数据时查询它都会更加繁琐,相比之下,如果我使用DataFrame)

    3. 然而,我面临的困难是,从第2步到第3步,我不知道如何才能真正安全地将我的数据库B转换为SQLAlchemy引擎,以便准备好它在pandas中形成一个DataFrame。

      当我从pandas documentation on this以及SQLitein-memory databases上的SQLAlchemy文档中读到时,我应该做的就是将我的SQLite数据库转换为SQLAlchemy引擎{3}}

        

      如果没有文件路径,则sqlite:memory:identifier是默认值。指定sqlite://而不是其他:

      #in-memory database
      e = create_engine('sqlite://') 
      

      但是,对于我的情况,这里有2个数据库A和B位于内存中。在这种情况下,我如何告诉SQLAlchemy我希望它采用数据库B而不是A?这是一个有效的问题吗?

      我希望在有空的时候重构代码。任何人都可以向我建议一个更优雅的方式从第1步到第4步吗?

0 个答案:

没有答案
相关问题