在将大型数据集存储到数据库中之前先对其进行定义

时间:2018-12-07 15:48:47

标签: python json data-structures dataset

我正在编写一个大型数据集,以后将使用Python对其进行解析并将其以编程方式添加到数据库(通过SQLAlchemy进行PostgresSQL后端)。

所以,有2个问题:

  1. 在将这些数据插入数据库之前,组成,定义和存储这些数据的最佳方法是什么?这是正确的方法吗?仍然有人需要编写类似JSON-a的结构,这很繁琐,也许应该采用完全不同的方法。我愿意接受任何建议。
  2. 这些数据结构往往非常大(每个对象1万行)。这就是为什么我试图将每个对象放到单独的Python文件中,然后再通过导入脚本将它们导入的原因。由于此数据被定义为具有特定名称的 const ,我如何在不事先知道其名称的情况下将其导入另一个模块?我可以导入*,但这不能解决问题,因为我仍然需要知道const名称才能开始使用它。

感谢您的回答和主张。

2 个答案:

答案 0 :(得分:0)

最后,您可能需要平整表的数据结构,并将每个不同的配置转换为表中自己的行,如下所示:

Table Cars

  maker  model  generation  year  body_type  fuel_type  drivetrain_type  gearbox_type  aspiration_type  displacement  cylinders  power_rating  modification
citroen     C5           I  2000   liftback     petrol              FWD            AT               NA           3.0          6           207
citroen     C5           I  2000   liftback     petrol              FWD            MT               NA           3.0          6           207

使用另一个包含显示名称的表

Table Display_Names

      id         display_name
 citroen              Citroen
      C5                   C5
       I                    I
liftback             Liftback
  petrol               Petrol
     FWD    Front Wheel Drive
      AT            Automatic
      MT               Manual
      NA  Naturally Aspirated

或直接包含显示名称的表。

因此,如果可能的话,您的JSON数据可能应该反映此结构。

答案 1 :(得分:0)

好的,所以我自己找到了问题的答案。这里有:

  1. 应使用简单的JSON格式,并使用jsonschema进行进一步验证
  2. 它应该是JSON文件,而不是内部带有const的Python。 JSON文件中的数据应具有自我描述性,因此只需遍历所有JSON文件并进行额外的解析就足够了。