У меня есть метаданные, которые выглядят как этот пример:
{
"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
, но я не знаю, хорошая ли это идеяесли мои файлы не такие большие!
Буду признателен за любую полезную информацию!