CSV文件中字段内的逗号 - 使用SSIS导入到DB

时间:2014-04-25 09:42:14

标签: csv ssis comma

我有一个 CSV文件 - 它有很多值将逗号作为值的一部分。字段中的逗号将误导我的SSIS包了解文件行的列数比以前说的多

如何解决这个问题?

例如:

名称,金额,地址

我,20,000,我的家,印度

你,23,300,你的家,在哪里

这里只有3列,但SSIS假设所有逗号都用于分隔字段;实际上并非all.Amount列和地址列都有额外的逗号。

3 个答案:

答案 0 :(得分:16)

Use Text Qualifier in Flat file Connection Manager as ". This will separate only values out of quotes by commas. Your data from db will be enclosed in quotes.

答案 1 :(得分:2)

您需要确保文件中包含逗号作为文本一部分的所有值都用双引号(“)括起来。然后您可以在平面文件源中设置文本限定符,并且将加载逗号作为字符串字段的一部分。

答案 2 :(得分:0)

我认为更好的方法是在SSIS数据流中使用派生列转换编辑器,并使用双引号更改表达式以包围字符串。

例如,如果列"地址"有逗号记录,然后创建一个表达式,如

  

" \"&#34 +地址+" \""

派生列转换编辑器中的

如果您不愿意改变来源,我认为这是一个不错的选择。