【发布时间】:2016-12-23 05:11:59
【问题描述】:
我有一个包含各种数据格式的 csv,我试图将其复制到 postgres。我每次都遇到这个错误,因为在第 97789 行我有几列带有空单元格。
我不想删除这一行(以及其他可能包含 NULL 值的行),而是想找到一种解决方案,将它们包含在数据库中。列ma effective date 应该采用整数值。但是当我尝试使用以下代码时 - 它不起作用,可能是因为我试图将 NULL 作为字符串输入:
oakland=# \copy test_import FROM '/Users/Downloads/IE670_test.csv' DELIMITER ',' NULL AS 'NULL' csv
ERROR: invalid input syntax for integer: " "
CONTEXT: COPY test_import, line 97789, column ma effective date (ccyymmdd): " "
但是,切换到NULL as NULL 也不起作用,并在psql 中产生语法错误。无论列中的数据类型如何,是否有有效的解决方案来包含 NULL 值?
这是原始格式的违规行:
048A706200600,48A-7062-6 ,17,3,5815,PRESLEY WAY , ,OAKLAND ,94618, ," $102,150.00 "," $38,259.00 ", $- , $- , $- , $- , $- ," $7,000.00 ", $- ," $133,409.00 ",2015,139807,20150527,20150901, , , , , , , , , , , , ,1100,Single family residential homes used as such
【问题讨论】:
-
整行?违规单元格的内容是“”我猜。
-
不确定如何使用包含的逗号分隔符来做到这一点。我有大约 40 列,正在使用 Open Office
-
一个csv文件可以在任何文本编辑器中打开
-
完成,我编辑了问题
-
好吧,您的 CSV 文件中没有 null!你所拥有的是一堆空格,
ERROR: invalid input syntax for integer: " "突然开始变得有意义
标签: sql postgresql csv psql