我对数据库一般都是新手,所以请原谅我的问题,如果它非常简单。现在,我必须开展一项任务,从数据库中的数据进行分析和可视化。我被迫使用遗留代码,所以我的方法是这样的:
在内存中创建一个SQLite数据库(称之为A)(我必须这样做,因为我获得了大量的SQL脚本)
在内存中再次创建另一个不同的SQLite数据库(称之为B)。通过一些循环,查询和从数据库A中提取信息,对它们进行一些组合,并将它们插入数据库B.数据库B现在是我们将从中获取数据以执行分析的数据库。
从第3步和第4步开始,我想切换到Python的pandas
,这是旧代码没有的新举措。
将整个SQLite数据库B转换为Python pandas
DataFrame对象
从DataFrame对象获取的数据执行分析(我不想继续使用SQLite数据库进行这些分析,因为每次需要提取我需要的数据时查询它都会更加繁琐,相比之下,如果我使用DataFrame)
然而,我面临的困难是,从第2步到第3步,我不知道如何才能真正安全地将我的数据库B转换为SQLAlchemy引擎,以便准备好它在pandas
中形成一个DataFrame。
当我从pandas documentation on this以及SQLite和in-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步吗?