m0_75081857 2023-01-10 15:48 采纳率: 100%
浏览 78
已结题

csvhelper 追加写入

请问各位使用csvhelper的writerecord和writerecords都是从头开始写入CSV文件。
想要解决的问题:
1.C#中Csvhelper如何实现追加写入CSV文件,类似writeline()这个函数。

 public void CsvWriteDAL(List<CsvDataModel> records)
        {
            if(!System.IO.Directory.Exists(Global.CsvPath))
            {
                System.IO.Directory.CreateDirectory(Global.CsvPath);
            }
            
            using (var writer=new StreamWriter(Global.CsvPath+"Dev.csv"))
            {
                
                using (var csv=new CsvWriter(writer,CultureInfo.InvariantCulture))
                {
                    
                    csv.WriteRecords(records);                                 
                }
            }
                
        }

  • 写回答

2条回答 默认 最新

  • m0_54204465 2023-01-10 15:54
    关注

    使用 CsvHelper 实现追加写入 CSV 文件,可以在创建 StreamWriter 时使用 File.Open 方法并将第二个参数设置为 FileMode.Append。这将使得新数据被追加到现有文件的末尾而不是覆盖文件中原有的数据。代码如下:

    using (var writer= new StreamWriter(File.Open(Global.CsvPath+"Dev.csv", FileMode.Append)))
    {
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            csv.WriteRecords(records);
        }
    }
    
    

    在这个代码片段中,你可以看到我们使用 File.Open 方法来创建 StreamWriter 并将第二个参数设置为 FileMode.Append.然后你可以继续使用csv.WriteRecords来写入文件。

    还有一个可能的解决方案是使用 CsvWriter.WriteRecordsAsync 方法来异步地追加记录, 代码片段如下:

    using (var writer= new StreamWriter(File.Open(Global.CsvPath+"Dev.csv", FileMode.Append)))
    {
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            await csv.WriteRecordsAsync(records);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了