读取一个以逗号作为分隔符并在 psql 中转义引号的 csv 文件
read a csv file with comma as delimiter and escaping quotes in psql
我想读取一个用逗号 (,
) 分隔的 csv 文件,但想忽略双引号内的逗号 (""
)。我想将结果存储到 table.
示例:
abc,00.000.00.00,00:00:00:00:00:00,Sun Nov 01 00:00:00 EST 0000,Sun Nov 01 00:00:00 EST 0000,"Apple, Inc.",abcd-0000abc-a,abcd-abcd-a0000-00
在这里我不想在苹果上分裂,.
我知道 python 中存在 csv reader,我可以在 plpython 中使用它,但考虑到数百万这样的字符串,这很慢!我想要一个纯 psql 方法!
这是一个使用 CSV 格式读取外部 Table CSV 文件的示例。
CREATE EXTERNAL TABLE ext_expenses ( name text,
date date, amount float4, category text, desc1 text )
LOCATION ('gpfdist://etlhost-1:8081/*.txt',
'gpfdist://etlhost-2:8082/*.txt')
FORMAT 'CSV' ( DELIMITER ',' )
LOG ERRORS SEGMENT REJECT LIMIT 5;
这也是从 Greenplum 文档中获取的。
我想读取一个用逗号 (,
) 分隔的 csv 文件,但想忽略双引号内的逗号 (""
)。我想将结果存储到 table.
示例:
abc,00.000.00.00,00:00:00:00:00:00,Sun Nov 01 00:00:00 EST 0000,Sun Nov 01 00:00:00 EST 0000,"Apple, Inc.",abcd-0000abc-a,abcd-abcd-a0000-00
在这里我不想在苹果上分裂,.
我知道 python 中存在 csv reader,我可以在 plpython 中使用它,但考虑到数百万这样的字符串,这很慢!我想要一个纯 psql 方法!
这是一个使用 CSV 格式读取外部 Table CSV 文件的示例。
CREATE EXTERNAL TABLE ext_expenses ( name text,
date date, amount float4, category text, desc1 text )
LOCATION ('gpfdist://etlhost-1:8081/*.txt',
'gpfdist://etlhost-2:8082/*.txt')
FORMAT 'CSV' ( DELIMITER ',' )
LOG ERRORS SEGMENT REJECT LIMIT 5;
这也是从 Greenplum 文档中获取的。