我如何拥有一个包含数千个表的数据库,这些表的列数不同,它们在Django / SQLAlchemy ORM中都是同一类?

我有数千家不同公司的财务报表数据。有些公司仅提供2019年的数据,但有些公司有十年的数据。每个公司的财务报表都有自己的表格,其结构如下,并以粗体显示:

订单项--- 2019 --- 2018 --- 2017 2 ...... 1000 .... 800 ..... 600 3206 ........... 700 .... 300 ....- 200 56 ................. 50 .... 100 ..... 100 200 ......... 1200 ...... 90 ..... 700

这种结构优于诸如lineitem-year-amount之类的平面文件结构,因为一个查询为我提供了财务报表表输出的正确结构。 lineitem是一个外键,它链接到具有10,000多个记录的映射表的主键。 3206例如可以表示“债务到信用机构”。我还有一个companyIndex表,其中包含公司ID,公司名称和表名称。我能够将数据输入数据库并在python中使用sqlite3进行查询,但是高级查询有时会遇到一些挑战,更不用说它会花费很多时间并且可读性很差。我喜欢在Django或SQLAlchemy中使用ORM的潜力。 SQLAlchemy中的ORM似乎想让我知道我将要创建的表的名称,并且想让我知道要创建的列数,但是我不知道那是因为我有一个脚本可以解析csv中的数据转储,包括其运营年限的公司ID和财务报表数据。同样,一年后,我将不得不再更新一年的数据表。

我一直在看和阅读Django和SQLAlchemy教程,但是由于这个最初的问题,这在我的项目中是成功的前提条件,因此在实践中无法对其进行过多尝试。我已经谷歌和谷歌,并检查了stackoverflow寻找解决方案,但没有找到任何已解决的问题(这真是令人惊讶,因为我总是在这里找到解决方案)。

那么,如果我计划将其放入其中,该如何使用Django / SQLAlchemy插入数据?如何使选定的表(基于公司ID或公司名称)成为ORM中的对象,就像其他任何允许我以所需的粒度级别选择所需数据的对象一样? 理想情况下,在Django中有解决此问题的方法,但是由于我还没有找到任何东西,所以我怀疑没有任何东西,或者我如何构造数据库是精神错乱。

评论