sql - CSV 文件元数据验证(与现有 SQl 表比较)
问题描述
我需要在加载到暂存文件夹之前验证 CSV 文件,然后必须加载到 sql 表中。我需要验证元数据(文件的结构必须与目标 sql 表相同) 列数应该等于目标 sql 表列的顺序应该与目标 sql 表相同 列的数据类型(没有文本值应该存在于 csv 文件的数字字段中)寻找一些简单有效的方法来实现这一点。感谢帮助
解决方案
chkcsv.py:https://pypi.org/project/chkcsv/是一个 Python 程序和模块,可以满足您的大部分需求。它可用于验证 CSV 文件是否包含一组指定的列,以及每列的数据类型是否符合规范。但是,它不会验证 CSV 文件中列的顺序是否与数据库表中的顺序相同。无需将 CSV 文件直接加载到目标表中,您可以将其加载到临时表中,然后将其从那里移动到目标表中——这个两步过程消除了列顺序依赖性。
免责声明:我写了 chkcsv.py
编辑 2020-01-26:我刚刚添加了一个选项,允许您指定还应检查列顺序。
推荐阅读
- tsql - 一个 T-SQL 过程,用于标识指定时间段内所有“案例”的总持续时间或天数。这是一个挑战
- sql - 是包含开始日期和结束日期的“之间”吗?
- postgresql - postgresSQL 如何仅在更新的行上应用触发器?
- excel - 尽管类型和值相等,但 Vlookup VBA 中的错误 2042
- javascript - 如何排除单个字段触发以整个表单(vanilla JS)注册的 onchange 事件?
- powershell - 如何多次复制文件,每个文件根据值列表具有不同的文件名?
- arrays - 查找数组中的所有升序三元组
- asp.net - 部署在 IIS 上的网站没有获得域 NT 登录
- django-rest-framework - 如何用 kwargs 解决 django.url.exceptions.NoReverseMatch?
- sql-server - 将日期声明为另一个日期的最后一个月