Dan*_*dio 3 postgresql import csv
根据 ,我有一个包含 7,590,051 行的 CSV(实际上是制表符分隔的)文件wc -l
,我想使用COPY FROM
. 我删除了表的主键,所以它没有约束。
我跑了COPY customer FROM '.../customer.dsv' WITH DELIMITER E'\t' CSV HEADER;
,它报告导入了 7,588,671 行并且没有错误,所以它缺少 1,379 行(已经打折标题行)。
由于 PostgreSQL 没有报告任何错误,您如何建议我解决哪些行丢失(以及它们丢失的原因)?
如果某些文本字段中有换行符,这可能是正常的。当字段中的值用双引号括起来时,允许换行。显然,这使得文件中的行数大于记录数。
例子 :
$ cat file.csv
1,"ab
cd",2
3,"efgh",4
$ wc -l file.csv
3 file.csv
=> create table csvtest(a int, b text, c int);
=> \copy csvtest from 'file.csv' with csv
=> select * from csvtest;
a | b | c
---+-------+---
1 | ab | 2
: cd
3 | efgh | 4
(2 rows)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2162 次 |
最近记录: |