0

我在 SSIS 中创建了一些东西来创建基于 4 个 sql 查询的 csv 文件。它使用一系列排序和合并来以正确的格式返回(看起来是)一个 csv。但是,行中的尾随逗号不是最长行的长度。最短的数据行只有 1 列,最长的大约是 46 列。所以 1 列的行有 45 个逗号来匹配最长的行。

需要定期生成此 CSV 文件并将其发送给第 3 方供应商。

如何清理逗号?有没有办法在 SSIS 中执行 VB 或 C# 代码,它会遍历每一行并清除所有逗号?

4

1 回答 1

0

首先:为什么需要删除逗号?CSV 代表(在其核心)可能等效数据的单个数据集。因此 1 列行和 46 列行应该是相似的实体,并且 45 个空白值是完全有效的。如果它们不是相似的实体,为什么它们在同一个 CSV 中?

话虽如此,为了简单地删除逗号,因为您暗示您对 .Net 感到满意,所以您想要的是Script Task

在创建 CSV 的数据流之后,创建一个脚本任务:

  1. 打开生成的 CSV。
  2. 循环读取行。
  3. 删除所有尾随逗号。
  4. 将行写入字符串缓冲区。
  5. 最后将字符串缓冲区转储到文件中。

或者,您可以创建一个批处理文件或可执行文件来执行相同的任务,然后将Execute Process 任务与您的 CSV 作为参数一起使用。

于 2013-06-27T16:49:21.463 回答