首页 > 解决方案 > 根据 python 中的 json 模式验证 csv 文件

问题描述

我的元数据看起来像这个例子:

{
  "metadata_id":"2",
  "flow_properties": {
    "flow_name_index" : 3,
    "flow_name_separator" : "_"
  },
  "flows": [
    {
      "flow_name" : "CONTACT",
      "file_properties": {
        "separator":"¤",
        "encoding-type" : "utf-8"
      },
      "nb_lines": 3,
      "schema" : {
        "fields": [
        {
          "name": "id_contact",
          "type": "string"
        },
        {
          "name": "first_name",
          "type": "string"
        },
        {
          "name": "last_name",
          "type": "string"
        }    
        ]
      }
    },
    {
      "flow_name" : "SALES",
      "file_properties": {
        "separator":",",
        "encoding-type" : "utf-8"
      },
      "nb_lines": 6,
      "schema" : {
        "fields": [
        {
          "name": "id_sales",
          "type": "string"
        },
        {
          "name": "description",
          "type": "string"
        },
        {
          "name": "total_price",
          "type": "number"
        }
        ]
      }
    }
  ]
}

我想根据元数据中的正确模式验证来自这些不同流的文件。

我的问题是:python 中是否有一个库可以接受 json 模式、csv 文件并完成这项工作?我已经测试过goodtablescsvvalidator并且pycsvschema。他们似乎没有满足我的需求,除了pycsvschema. 但是我不能让它工作。有关 的详细信息pycsvschema,请查看我在此处打开的问题。

我也尝试过使用pyspark,但如果我的文件不是那么大,我不知道这是否是个好主意!

任何有用的信息将不胜感激!

标签: pythonvalidation

解决方案


推荐阅读