python - 根据 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 文件并完成这项工作?我已经测试过goodtables
,csvvalidator
并且pycsvschema
。他们似乎没有满足我的需求,除了pycsvschema
. 但是我不能让它工作。有关 的详细信息pycsvschema
,请查看我在此处打开的问题。
我也尝试过使用pyspark
,但如果我的文件不是那么大,我不知道这是否是个好主意!
任何有用的信息将不胜感激!
解决方案
推荐阅读
- node.js - BigML 连接到节点 JS
- bash - 在bash中的列中查找所选项目的平均值
- html - 为什么 safari 浏览器中没有安装 favicon?
- reactjs - React:如何将数据传递给“useDrop”函数?
- knex.js - 如何为某些模型的所有查询添加默认 where 子句?
- c++ - 我无法让我的代码输出到我的文本文件
- python - 保存外键django的值
- java - JAVA电子邮件跟踪像素跟踪阅读时间
- mongodb - 我可以将 mongodb atlas 数据移动到 aws ec2
- python - Python Concurrent.Futures ProcessPool Executor 错误输出