C# 如何将CSV文件读取到列表<;myClass>;?
是否可以从CSV文件创建我自己的类的列表 文件(例如)看起来像:C# 如何将CSV文件读取到列表<;myClass>;?,c#,C#,是否可以从CSV文件创建我自己的类的列表 文件(例如)看起来像: ID;NAME 1;Foo 2;Bar 然后我有一门课,比如: class MyClass { public int id { get; set; } public string name { get; set; } } 是否可以从cvs文件中生成此类的列表?也许对于某些库,您可以使用CSV解析器,例如或。如果您不想使用第三方库,可以查看内置类,该类可以这样使用: public IEnumerable<M
ID;NAME
1;Foo
2;Bar
然后我有一门课,比如:
class MyClass
{
public int id { get; set; }
public string name { get; set; }
}
是否可以从cvs文件中生成此类的列表?也许对于某些库,您可以使用CSV解析器,例如或。如果您不想使用第三方库,可以查看内置类,该类可以这样使用:
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]
};
}
}
}
public IEnumerable解析(字符串路径)
{
使用(TextFieldParser=newtextfieldparser(path))
{
parser.CommentTokens=新字符串[]{“#”};
SetDelimiters(新字符串[]{;“});
parser.HasFieldsEnclosedInQuotes=true;
//跳过标题行。
parser.ReadLine();
而(!parser.EndOfData)
{
string[]fields=parser.ReadFields();
收益返回新MyClass()
{
id=字段[0],
名称=字段[1]
};
}
}
}
然后:
List<MyClass> list = Parse("data.csv").ToList();
List List=Parse(“data.csv”).ToList();
但是,决不,请按照其他人的建议,在这里回答您的问题。您可以使用CSV解析器,如或。如果您不想使用第三方库,可以查看内置类,该类可以这样使用:
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]
};
}
}
}
public IEnumerable解析(字符串路径)
{
使用(TextFieldParser=newtextfieldparser(path))
{
parser.CommentTokens=新字符串[]{“#”};
SetDelimiters(新字符串[]{;“});
parser.HasFieldsEnclosedInQuotes=true;
//跳过标题行。
parser.ReadLine();
而(!parser.EndOfData)
{
string[]fields=parser.ReadFields();
收益返回新MyClass()
{
id=字段[0],
名称=字段[1]
};
}
}
}
然后:
List<MyClass> list = Parse("data.csv").ToList();
List List=Parse(“data.csv”).ToList();
但是千万不要,请按照别人的建议,在这里回答你的问题。千万不要说千万不要。如果你知道你的文件结构,也许写一些小东西不是最糟糕的事情。你知道文件结构。它是CSV:-)
也许写一些小东西不是最坏的事情。
。引用这里的话():你说“我知道!我就用String.Split(…”
.lol好的:)现在已经八个星期了,我也是文件助手的粉丝。然而,在FileHelpers出现之前,我自己进行了拆分和解析,这些东西仍然在运行;-)永不言败。如果你知道你的文件结构,也许写一些小东西不是最糟糕的事情。你知道文件结构。它是CSV:-)也许写一些小东西不是最坏的事情。
。引用这里的话():你说“我知道!我就用String.Split(…”
.lol好的:)现在已经八个星期了,我也是文件助手的粉丝。然而,在FileHelpers出现之前,我自己进行了拆分和解析,这些东西仍然在运行;-)