Проверьте файл CSV по схеме JSON в Python - PullRequest
2 голосов
/ 07 октября 2019

У меня есть метаданные, которые выглядят как этот пример:

{
  "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 и выполняет эту работу? Я уже тестировал goodtables, csvvalidator и pycsvschema. Они, кажется, не отвечают моим потребностям, за исключением pycsvschema. Однако я не могу заставить это работать. Для получения подробной информации о pycsvschema, пожалуйста, проверьте проблему, которую я открыл здесь .

Я также пытался использовать pyspark, но я не знаю, хорошая ли это идеяесли мои файлы не такие большие!

Буду признателен за любую полезную информацию!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...