从CSV中删除行

时间:2013-07-25 18:11:57

标签: c# ssis

我需要在SSIS中使用C#从CSV文件中删除行

这是我的档案

XXXX,,,,,,,
XXXX111,,,,,,,
XXXX222,,,,,,,
A,b,c,d,e,f
g,h,i,j,k,l
1,2,3,4,5,6
,,,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,,,

以下是我的输出应该是什么样子

A,b,c,d,e,f
g,h,i,j,k,l
1,2,3,4,5,6

基本上我需要删除

XXXX,,,,,,,
XXXX111,,,,,,,
XXXX222,,,,,,, 
,,,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,,,

提前致谢

1 个答案:

答案 0 :(得分:2)

这是一个基于您的5个逗号标准的简单解决方案

List<String> lines = new List<string>();
string line;
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");

while ((line = file.ReadLine()) != null)
{
    lines.Add(line);
}

lines.RemoveAll(l => l.Contains(",,,,,"));

然后你可以把它写回来或者你想要的任何东西

写出:

using (System.IO.StreamWriter outfile = new System.IO.StreamWriter(outputPath))
{
      outfile.Write(String.Join(System.Environment.NewLine, lines.ToArray()));
}