簡體   English   中英

讀取和寫入同一個 csv 文件

[英]Read and write to the same csv file

我有一個包含大量目錄的 CSV 文件(例如 Directories.csv)。 我正在使用流閱讀器從 CSV 中遍歷目錄並執行一些任務。 我正在將完成的目錄列表更新為字典並現在停留在這一步。

問:我想通過在同一 CSV中完成目錄的循環捕獲數據,以防應用程序崩潰或服務器重新啟動,這樣我就不必再次遍歷已完成的循環。 (或)從 CSV 中刪除已完成的目錄行

我試圖在線檢查建議並要求創建臨時文件並移動它的副本。 如果服務器重新啟動或應用程序崩潰,這可能嗎? 請建議我如何向前推進。

我的代碼:

  Dictionary<string, string> directoryDictionary = new Dictionary<string, string>();
  using (FileStream fileStreamDirectory = File.Open(outputdir + "\\Directories.csv", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
  using (BufferedStream bufferStreamDirectory = new BufferedStream(fileStreamDirectory))
  using (StreamReader streamReaderDirectory = new StreamReader(bufferStreamDirectory))
  {
      while ((Directoryline = streamReaderDirectory.ReadLine()) != null)
      {
        #Doing the task here
        directoryDictionary.Add(Directoryline, "Completed");
      }
  }

您不能真正將數據插入文本文件的中間(除非它是固定寬度格式,而 CSV 則不是)。

兩種選擇:

  • 讀取到內存,更新內存數據,將整個表重寫回文件(可能需要保留以前的版本以防寫入失敗)
  • 使用滿足您標准的數據庫並在那里導入 CSV 以使用。

暫無
暫無

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

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