2009-11-11 79 views
2

任何人都可以請這個查詢來幫助我。使用C更新或從CSV中刪除一行#

我有一個CSV文件,由unix應用程序用作配置文件。

該文件沒有標題,第一列是唯一的。

這是該文件的格式。

XXX1,11112009,11112009
XXX2,11112009,11112009

我如何使用C#:

1)更新AA全線
2)刪除線

我嘗試使用OLEDB來更新文件,但因爲沒有標題,所以很難處理。

問候

ķ

+1

文件的靜態是多少,它有多少行10,100,1,000,000或100,000,000?大小有所作爲。 – kloucks 2009-11-11 13:14:11

回答

2

使用File.ReadAllLines(路徑)將文件行讀取到String []中,然後循環並根據需要輸出。

這將工作多達幾十萬行。

+0

感謝所有的迴應,這一個是我用過的櫥櫃。 – Kojof 2009-11-11 15:58:54

-1

如果你沒有頭,那麼你可以使用 「的Microsoft.Office.Interop.Excel」 DLL。要獲得此dll的引用,請使用「添加引用」和「.NET」選項卡。

你可以通過循環檢查每個字段的值,並可以更新和刪除,這是匹配的。

+0

不幸的是,我不能在生產服務器上運行這個「Microsoft.Office.Interop.Excel」DLL。 – Kojof 2009-11-11 13:22:32

0

我會推薦FileHelpers庫,你可以製作簡單的類,它映射到你的文件結構。通過這種方式,您可以對該文件進行強類型表示,該文件易於編輯並再次保存。

它也很快。

1

當您需要更新CSV文件時,幾乎唯一的答案就是讀取整個文件,修改並再次寫出。或者如果它很大,則一次將這些操作交錯一行。