如何写回CSV文件

本文关键字:CSV 文件 写回 何写回 | 更新日期: 2023-09-27 18:25:07

我正在尝试写回CSV文件,我是C#新手,如何将此脚本更改为写回CSV?请帮我

public void Main()
{
    List<String> lines = new List<string>();
    string line;
    System.IO.StreamReader file = new System.IO.StreamReader("C:''NewFolder''Test.csv");
    while ((line = file.ReadLine()) != null)
    {
        lines.Add(line);
    }
    lines.RemoveAll(l => l.Contains(",,,,,"));
    using (System.IO.StreamWriter writer = new System.IO.StreamWriter("C:''NewFolder''Test.csv", false))
    {
        for (int i = 0; i < lines.Count; i++)
        {
            writer.WriteLine(lines[i]);
        }
    }

    Dts.TaskResult = (int)ScriptResults.Success;
}

如何写回CSV文件

仅此

//Convert your list to csv string
string toWrite = string.Join(",",lines );
File.WriteAllText(YourFilePath, toWrite);

您正在使用StreamReader从文件中读取。使用StreamWriter对其进行回写。此代码应执行

using (System.IO.StreamWriter writer = new System.IO.StreamWriter("c:''test.txt", false))
{
    for (int i = 0; i < lines.Count; i++)
    {
        writer.WriteLine(lines[i]);
    }
}

注意,这假设了两件事:

  1. 你已经关闭了你的阅读器
  2. 您想要替换原始文件

编辑:或者,你可以将整个事情重写为:

string fileName = "C:''NewFolder''Test.csv";
List<string> lines = System.IO.File.ReadAllLines(fileName).ToList();
lines.RemoveAll(l => l.Contains(",,,,,"));
System.IO.File.WriteAllLines(fileName, lines.ToArray());