文件以逗号隔开a,b,c 3个字段 但是现在的文件是"a","b,v","c"格式。怎么处理?copy命令只能用单个分隔符 不能用多个。单个逗号分隔第二种格式会出现4个字段。、
可以使用类似这样的命令进行导入:
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, 如果是别的格式则修改为适当的编码格式.
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-10-04
可以使用类似这样的命令进行导入:
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, 如果是别的格式则修改为适当的编码格式.
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, 如果是别的格式则修改为适当的编码格式.