<分区>
我需要用逗号分隔一个 csv 文件,除了引号之间的列。但是,我在这里所拥有的似乎并没有实现我所需要的,并且列中的逗号被拆分为单独的数组项。
public List<string> GetData(string dataFile, int row)
{
try
{
var lines = File.ReadAllLines(dataFile).Select(a => a.Split(';'));
var csv = from line in lines select (from piece in line select piece.Split(',')).ToList();
var foo = csv.ToList();
var result = foo[row][0].ToList();
return result;
}
catch
{
return null;
}
}
private const string QUOTE = "\"";
private const string ESCAPED_QUOTE = "\"\"";
private static char[] CHARACTERS_THAT_MUST_BE_QUOTED = { ',', '"', '\n' };
public static string Escape(string s)
{
if (s.Contains(QUOTE))
s = s.Replace(QUOTE, ESCAPED_QUOTE);
if (s.IndexOfAny(CHARACTERS_THAT_MUST_BE_QUOTED) > -1)
s = QUOTE + s + QUOTE;
return s;
}
在这种情况下,我不确定在哪里可以使用我的转义函数。
例子:
Degree,Graduate,08-Dec-17,Level 1,"Advanced, Maths"
字符串 Advanced, Maths 被拆分成两个我不想要的不同数组项