postgresql copy from 文件,文件字段包含双引号怎么处理?

文件以逗号隔开a,b,c3个字段但是现在的文件是"a","b,v","c"格式。怎么处理?copy命令只能用单个分隔符不能用多个。单个逗号分隔第二种格式会出现4个字段。、... 文件以逗号隔开a,b,c 3个字段 但是现在的文件是"a","b,v","c"格式。怎么处理?copy命令只能用单个分隔符 不能用多个。单个逗号分隔第二种格式会出现4个字段。、 展开
 我来答
Andy_Sun321
2015-05-07 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:715万
展开全部

可以使用类似这样的命令进行导入:

copy target_table_name (field_1, field_2, field_3)
from 'C:\sourceData.txt'
with (
FORMAT csv,
DELIMITER ',',
escape '\',
header true,
quote '"',
encoding 'UTF8')

这里, with后面括号中跟的是导入参数设置:

format指定导入的文件格式为csv格式

delimiter指定了字段之间的分隔符号位逗号

escape指定了在引号中的转义字符为反斜杠,这样即使在引号字串中存在引号本身,也可以用该字符进行转义,变为一般的引号字符,而不是字段终结

header true:指定文件中存在表头。如果没有的话,则设置为false

quote指定了以双引号作为字符串字段的引号,这样它会将双引号内的内容作为一个字段值来进行处理

encoding指定了文件的编码格式为utf8, 如果是别的格式则修改为适当的编码格式.

圣鸾OJ
2015-10-04 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:108万
展开全部
可以使用类似这样的命令进行导入:

1
2
3
4
5
6
7
8
9

copy target_table_name (field_1, field_2, field_3)
from 'C:\sourceData.txt'
with (
FORMAT csv,
DELIMITER ',',
escape '\',
header true,
quote '"',
encoding 'UTF8')

这里, with后面括号中跟的是导入参数设置:
format指定导入的文件格式为csv格式
delimiter指定了字段之间的分隔符号位逗号
escape指定了在引号中的转义字符为反斜杠,这样即使在引号字串中存在引号本身,也可以用该字符进行转义,变为一般的引号字符,而不是字段终结
header true:指定文件中存在表头。如果没有的话,则设置为false
quote指定了以双引号作为字符串字段的引号,这样它会将双引号内的内容作为一个字段值来进行处理
encoding指定了文件的编码格式为utf8, 如果是别的格式则修改为适当的编码格式.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式