使用C#将文本文件转换为CSV文件

时间:2013-04-23 14:29:15

标签: c# arrays csv

我有一个Tab限制的txt文件,如下所示:

Well       Name       Detector      Task    Quantity
1          try1       Cam1          UNKN    0
2          try2       Cam1          UNKN    0
3          try3       Cam3          STND    1000
4          try4       Cam5          UNKN    0
5          try5       Cam6          UNKN    0
6          try6       Cam6          UNKN    0
....
92         try92      Cam4          STND    100

我需要从此TXT文件输出CSV文件。 在输出的CSV文件中,我需要将分隔符从Tab更改为分号,我只需要前两列。

我将文本文件放在一个数组中:

string [] source....

也跳过一些我不需要的标题行,

但现在我仍然坚持如何继续下去。

我了解StreamReader和StreamWriter,但我不知道如何使用它们来完成我的任务。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:-1)

希望这会给你一个想法,所以试着理解每个部分。

string[] lines = System.IO.File.ReadAllLines(YOUR INPUT FILE);

StringBuilder builder = new StringBuilder();

foreach (string line in lines)
{
    var temp = line.Split('\t');
    builder.AppendLine(string.Join(";", temp[0], temp[1]));
    //builder.AppendLine(string.Format("{0}; {1}", temp[0], temp[1]));
}

System.IO.File.WriteAllText(YOUR OUTPUT FILE, builder.ToString());
  • File.ReadAllLines:将文件的所有行读入string[]
  • File.WriteAllText:将字符串写入文件。
  • StringBuilder:此类表示类似字符串的对象。
  • AppendLine:向StringBuilder实例添加字符串行。
  • string.Format:用相应对象值的文本替换指定字符串中的每个格式项。 More