在c#中删除csv文件的前两行

本文关键字:两行 删除 csv 文件 | 更新日期: 2023-09-27 18:13:03

我正在制作一个c#应用程序的开始阶段,该应用程序下载一个。zip文件,提取一个。csv文件,并将其插入到mssql数据库中。问题是文件开头有2行不必要的行。有没有办法把前2行去掉?这是来自maxmind.com的geoip数据。理想情况下,程序将读取.csv文件,去掉行,然后重新保存。欢迎提出任何建议。示例行如下:

Copyright (c) 2011 MaxMind Inc.  All Rights Reserved.
"beginIp","endIp","beginIpNum","endIpNum","countryCode","countryName"
"1.0.0.0","1.0.0.255","16777216","16777471","AU","Australia"
"1.0.1.0","1.0.3.255","16777472","16778239","CN","China"
"1.0.4.0","1.0.7.255","16778240","16779263","AU","Australia"

在c#中删除csv文件的前两行

正如@itsme86在评论中所说,您可能最好直接用

跳过这两行。
reader.ReadLine();
reader.ReadLine();

这样,您就不必担心复制整个文件并重新保存它。然而,如果你确实想这样做(我注意到你说"理想情况下,程序将读取。csv文件,删除行,并重新保存它"),你可以回顾一下我对类似问题的回答:从文本文件c#中剪切并粘贴文本行。

实际上,您必须通读整个文件并将其复制到另一个文件。

using (var writer = new StreamWriter(newFile))
using (var reader = new StreamReader(oldFile)) // or you could take this from your `WebResponse` `Stream` if applicable.
{
    reader.ReadLine();
    reader.ReadLine();
    string line;
    while ((line = reader.ReadLine()) != null)
    {
        writer.WriteLine(line);
    }
}

.Net中有一个内置的csv解析器

下面的链接显示了一个示例http://coding.abel.nu/2012/06/built-in-net-csv-parser/

只需跳过第一行和第二行,就像示例中跳过第一行一样。