是否可以从 CSV 文件创建我自己的班级列表?
该文件例如看起来像:
ID;NAME
1;Foo
2;Bar
然后我有一个像这样的课程:
class MyClass
{
public int id { get; set; }
public string name { get; set; }
}
是否可以从 cvs 文件中生成此类的列表?也许有一些图书馆
是否可以从 CSV 文件创建我自己的班级列表?
该文件例如看起来像:
ID;NAME
1;Foo
2;Bar
然后我有一个像这样的课程:
class MyClass
{
public int id { get; set; }
public string name { get; set; }
}
是否可以从 cvs 文件中生成此类的列表?也许有一些图书馆
您可以使用 CSV 解析器,例如FileHelpers
FastCSV 。如果您不想使用第三方库,可以查看可以这样使用的内置类:TextFieldParser
public IEnumerable<MyClass> Parse(string path)
{
using (TextFieldParser parser = new TextFieldParser(path))
{
parser.CommentTokens = new string[] { "#" };
parser.SetDelimiters(new string[] { ";" });
parser.HasFieldsEnclosedInQuotes = true;
// Skip over header line.
parser.ReadLine();
while (!parser.EndOfData)
{
string[] fields = parser.ReadFields();
yield return new MyClass()
{
id = fields[0],
name = fields[1]
};
}
}
}
进而:
List<MyClass> list = Parse("data.csv").ToList();
但是,请不要never roll your own CSV parser
像其他人在这里建议的那样回答您的问题。