[英]Read csv file c# with comma separator
我正在嘗試讀取以下格式的csv文件:名稱,位置Joseph,“街道xpto,倫敦”
當我讀取CSV時,我將文件拆分為“,”,但是當該行包含“ street xpto,London”(其他逗號)時,該行將不起作用。
有解決方案嗎? 找到“”時,我需要拆分忽略逗號。
var reader = new StreamReader(File.OpenRead(@"C:\example_File.csv"));
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
String[] values = line.Split(',');
for (int i = 0; i < values.Length; i++)
{
}
}
不要重新發明輪子。 有非常好的庫可以幫助您完成所有這些工作。 我喜歡的一個是CsvHelper
可以通過nuget Install-Package CsvHelper
或從項目主頁獲得 。
文本字段解析器已經處理了這個問題
using System;
using Microsoft.VisualBasic.FileIO;
class Program
{
static void Main()
{
using (TextFieldParser parser = new TextFieldParser("C:\\csv.txt"))
{
parser.Delimiters = new string[] { "," };
while (true)
{
string[] parts = parser.ReadFields();
if (parts == null)
{
break;
}
Console.WriteLine("{0} field(s)", parts.Length);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.