【发布时间】:2012-09-07 14:29:51
【问题描述】:
我有一个从 .csv 文件导入数据的 SSIS 包。该文件中的每个条目都有双引号 (") 限定符,但也有介于两者之间的限定符。我还添加了逗号 (,) 作为列分隔符。我无法向您提供我正在使用的原始数据,但这里是我的数据如何在平面文件源中传递的示例:
"ID-1","A "B"", C, D, E","Today"
"ID-2","A, B, C, D, E,F","Yesterday"
"ID-3","A and nothing else","Today"
如您所见,第二列可以包含引号(和逗号),这会破坏我的 SSIS 导入,并出现指向此行的错误。 我不太熟悉正则表达式,但我听说这在这种情况下可能会有所帮助。
在我看来,我需要将所有双引号 (") 替换为单引号 ('),除了...
- ...一行开头的所有引号
- ...一行末尾的所有引号
- ...
","中的引用
你们中的任何人都可以帮我解决这件事吗?会很棒!
提前致谢!
【问题讨论】:
-
您确定
B后面有两个双引号,而它前面只有一个(第一行)吗?这看起来不像是正确的格式。 -
在 CSV 中,两个双引号代表元素内部的一个双引号。您的格式错误或不是 CSV 格式。正确的例子是
"ID-1","A ""B"", C, D, E","Today" -
嵌入文本限定符问题已经存在了一段时间。我认为他们在 2012 年的 SSI 中解决了这个问题,但我还没有机会对其进行测试。这是几个解决方案的链接。我通常的方法是在导入之前清理文件的脚本任务(计划 A)。 timlaqua.com/2011/06/…
-
不幸的是,这正是我需要使用的格式!我已经向客户报告了,但他们告诉我他们无能为力。
标签: regex csv import ssis quote