使用Microsoft.VisualBasic.FileIO.TextFieldParser
该类。这将处理解析定界文件,TextReader
或者Stream
某些字段用引号引起来,而有些则没有。
例如:
using Microsoft.VisualBasic.FileIO;
string csv = "2,1016,7/31/2008 14:22,Geoff Dalgas,6/5/2011 22:21,http://stackoverflow.com,\"Corvallis, OR\",7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34";
TextFieldParser parser = new TextFieldParser(new StringReader(csv));
// You can also read from a file
// TextFieldParser parser = new TextFieldParser("mycsvfile.csv");
parser.HasFieldsEnclosedInQuotes = true;
parser.SetDelimiters(",");
string[] fields;
while (!parser.EndOfData)
{
fields = parser.ReadFields();
foreach (string field in fields)
{
Console.WriteLine(field);
}
}
parser.Close();
这将导致以下输出:
2
1016
7/31/2008 14:22
杰夫·达尔加斯(Geoff Dalgas)
6/6/2011 22:21
http://stackoverflow.com
俄勒冈州科瓦利斯
7679
351
81
b437f461b3fd27387c5d8ab47a293d35
34
有关更多信息,请参见Microsoft.VisualBasic.FileIO.TextFieldParser。
您需要Microsoft.VisualBasic
在“添加引用.NET”选项卡中添加对的引用。