我有一个平面文件,其结构为
Id Value
1 1,2,3
2 4,5
输出需要为
ID Value
1 1
1 2
1 3
2 4
2 5
我有一个平面文件源和一个异步的脚本组件。在脚本编辑器中,我编写了以下代码
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
MyOutputBuffer.AddRow();
string[] arr = Row.Column1.Split(',');
foreach (string s in arr)
{
if (!string.IsNullOrEmpty(Row.Column0))
{
MyOutputBuffer.ID = Row.Column0;
MyOutputBuffer.Values = s;
MyOutputBuffer.AddRow();
}
}
}
public override void Input0_ProcessInput(Input0Buffer Buffer)
{
while (Buffer.NextRow())
{
Input0_ProcessInputRow(Buffer);
}
if (Buffer.EndOfRowset())
{
MyOutputBuffer.SetEndOfRowset();
}
}
但我得到以下输出
Id Value
NULL NULL
1 1
1 2
1 3
NULL NULL
2 4
2 5
NULL NULL
该计划有什么问题。
请帮忙
答案 0 :(得分:1)
得到了修复
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
string[] arr = Row.Column1.Split(',');
foreach (string s in arr)
{
MyOutputBuffer.AddRow();
if (!string.IsNullOrEmpty(Row.Column0))
{
MyOutputBuffer.ID = Row.Column0;
MyOutputBuffer.Values = s;
}
}
}