我有一个带有.CSV文件的SSIS包

时间:2017-09-10 11:49:23

标签: csv ssis

我的原始数据类似于以下格式:

col1             col2                              col3
"225537-009  |  CA, SAS LED, 2pin-2pin, 16", ENV |  1.95

我有一个创建.csv文件的SSIS包但是在创建文件时我在我的文件中得到了以下类型的输出:

col1             col2                          col3    COL4
"225537-009  |  CA, SAS LED, 2pin-2pin, 16  |  ENV" | 1.95

此处,列分隔符为逗号(,),行分隔符为"。 请建议我需要更改以获取原始数据。

1 个答案:

答案 0 :(得分:0)

"225537-009 | CA, SAS LED, 2pin-2pin, 16", ENV | 1.95

这引起了一些混乱和/或无效的csv数据,因为引用了“ first field ”。

使用,作为分隔符,这将是有效的2字段数据:

225537-009 | CA, SAS LED, 2pin-2pin, 16ENV | 1.95

但是,如果将|作为分隔符,那么这将是无效数据,因为您在第一个字段中的引号后面有, ENV

要修复,双引号应该被转义:

""225537-009 | CA, SAS LED, 2pin-2pin, 16"", ENV | 1.95

甚至:

"""225537-009" | "CA, SAS LED, 2pin-2pin, 16"", ENV" | 1.95

或者您应该确保解析器忽略双引号(但如果任何字段包含分隔符,则可能会出现问题。)

如果第一个数据是数据库中的(3)列,则csv writer应该转义那些双引号,并输出以下内容(,作为分隔符):

"""225537-009","CA, SAS LED, 2pin-2pin, 16"", ENV",1.95