C# 在c中从.csv文件中删除前2行#

C# 在c中从.csv文件中删除前2行#,c#,sql-server,csv,geoip,C#,Sql Server,Csv,Geoip,我正处于制作一个c#应用程序的开始阶段,它可以下载一个.zip文件,提取一个.csv文件,然后将其插入mssql数据库。问题是文件的开头包含两行不必要的行。有没有办法去掉前两条线?这是maxmind.com上的geoip数据。理想情况下,程序将读取.csv,去掉行,然后重新保存。欢迎任何建议。下面是示例行 Copyright (c) 2011 MaxMind Inc. All Rights Reserved. "beginIp","endIp","beginIpNum","endIpNum",

我正处于制作一个c#应用程序的开始阶段,它可以下载一个.zip文件,提取一个.csv文件,然后将其插入mssql数据库。问题是文件的开头包含两行不必要的行。有没有办法去掉前两条线?这是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"

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

下面的链接显示了一个示例


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

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

下面的链接显示了一个示例


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

正如@itsme86在评论中所说的那样,您可能最好用

reader.ReadLine();
reader.ReadLine();
这样,您就不必担心复制完整文件并重新保存。但是,如果您确实想这样做(我注意到您说“理想情况下程序将读取.csv,去掉行,然后重新保存”),您可以查看我对类似问题的回答:

本质上,您必须通读整个文件并将其复制到另一个文件中

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);
    }
}

正如@itsme86在一篇评论中所说的,你可能最好直接跳过这两行

reader.ReadLine();
reader.ReadLine();
这样,您就不必担心复制完整文件并重新保存。但是,如果您确实想这样做(我注意到您说“理想情况下程序将读取.csv,去掉行,然后重新保存”),您可以查看我对类似问题的回答:

本质上,您必须通读整个文件并将其复制到另一个文件中

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);
    }
}

读取文件时,只需添加2
reader.ReadLine()语句,然后开始循环实际数据。读取文件时,只需添加2
reader.ReadLine()语句。