2009-11-11 119 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文件时,几乎唯一的答案就是读取整个文件,修改并再次写出。或者如果它很大,则一次将这些操作交错一行。