簡體   English   中英

如何使用 CSVHelper 更新現有 CSV 文件中特定列中的值?

[英]How to update the value in a specific column in an existing CSV file using CSVHelper?

我有一個 CSV 文件,我在其中添加了自動化結果的結果。 我可以使用 CSV 幫助程序類在文件中添加詳細信息。 我的要求是一旦執行完成,我的腳本應該更新現有 CSV 文件中的給定列,只是特定列和列值的其余部分應該保持不變。 我無法找到相同的解決方案。 這是我的 CSV 文件的屏幕截圖

在此處輸入圖片說明

執行完成后,我只想更新 ExecutionEndDate 和 ExecutionEndTime 列。 其余列不應受到影響。

是否有使用 CSV 幫助程序類的相同解決方案? 我嘗試了此問題鏈接中提供的解決方案,但它也影響了其他列。

任何幫助表示贊賞。

您應該能夠讀取記錄,向這兩列添加值,然后寫回文件。

void Main()
{
    List<Foo> records = null;
    
    var csvFile = "SuiteName,ExecutionEnvironment,ExecutionEndDate,ExecutionEndTime,ClientName,SuiteCategory\n";
    csvFile += "Testing_v1,QA,,,XXXX,Regression";
    
    using (var reader = new StringReader(csvFile))
    using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    {
        records = csv.GetRecords<Foo>().ToList();
    }
    
    records.First().ExecutionEndDate = DateTime.Now.ToShortDateString();
    records.First().ExecutionEndTime = DateTime.Now.ToShortTimeString();

    using (var csv = new CsvWriter(Console.Out, CultureInfo.InvariantCulture))
    {
        csv.WriteRecords(records);
    }
}

public class Foo
{
    public string SuiteName { get; set; }
    public string ExecutionEnvironment { get; set; }
    public string ExecutionEndDate { get; set; }
    public string ExecutionEndTime { get; set; }
    public string ClientName { get; set; }
    public string SuiteCategory { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM