在SSIS中组合2行CSV文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (6)

我有一个CSV文件,其中信息分布在两行 第1 行包含姓名和年龄 第2行包含地址,城市,工资,职业等详细信息

我想组合2行将其插入数据库中。 CSV文件:

Raju, 42
12345 west andheri,Mumbai, 100000, service

在SQL Server中,我可以使用游标。但我必须在SSIS中做。

提问于
用户回答回答于

我喜欢使用脚本组件,以便能够在这种情况下存储来自不同行的数据。

  1. 将文件作为单列CSV读入Column1。
  2. 添加脚本组件并添加一个名为CorrectedOutput的新输出,并定义两行中的所有列。另外,将Column1标记为已读。
  3. 在行处理之外创建2个变量以“保持”第一行 string name = string.Empty; string Age = string.Empty;
  4. 使用拆分来确定第1行或第2行 string[] str = Row.Column1.Split(',');
  5. 使用if确定第1行或第2行 if(str.Length == 2) { name = str[0]; age=str[1];} else { CorrectedOutputBuffer.AddRow(); CorrectedOutputBuffer.Name = name; //This uses the stored value from prior row CorrectedOutputBuffer.Age = age; //This uses the stored value from prior row CorrectedOutputBuffer.Address = str[0]; CorrectedOutputBuffer.City = str[1]; CorrectedOutputBuffer.Salary = str[2]; CorrectedOutputBuffer.Occupation = str[3]; }

总体效果是这样的......在第1行,您只需将数据保存在第2行的变量中,就可以将数据写入1个新行。

用户回答回答于

扫码关注云+社区

领取腾讯云代金券