如何解决导入Postgres数字类型的CSV文件
| 我需要将文件导入到我的Postgres数据库中并得到以下错误: Fabrica中的整数\“ 1 \”的输入语法无效; SQL状态:22P02 我的命令是:copy trazabilidade(fabrica,--integer
idChapa,--integer
descricao,--varchar
espessura,--double precision
comprimento,--double precision
largura,--double precision
peso) from \'C:/temp_nexo/traz.csv\' delimiter \';\';
如何从具有数字的csv文件类型中导入数据?
解决方法
http://wiki.postgresql.org/wiki/COPY
不能扩展Pg强制
数据加载机制依赖于数据是Pg数据类型的形式表示,或由Pg强制(例如可强制转换)的形式表示。但是,目前尚没有一种为Pg类型添加自定义强制的方法。例如,您不能通过将强制重写为Int来使\ '31,337 \':: int起作用。
它还提出了两种选择,即pgloader。
与内置COPY相比,pgloader以更灵活的格式更好地加载容易出错的数据。与内置的COPY相比,缺点是安装复杂度更高(Python + psycopg +配置),并且有时会造成明显的速度损失。
, 根据Denis对COPY命令的答复,您不能在postgres复制命令中添加自定义强制。如果pgloader过大,则可以将数据加载到临时表中,然后从那里检查,然后强制转换/修剪/操作您认为应该有效的任何数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。