我目前正在编写一种读取 CSV 文件并返回其内容的方法。
内容是标题(列名)+数据,我正在考虑使用 DataTable 来存储结果。
它会表现出色吗?知道我将主要只是阅读整个内容以将其发送到另一个系统(仅供参考:FoxPro 系统,这超出了这个问题的范围)。
我还能用什么?(我的目标是有一些维护/可读性友好的代码)。
暂时我只使用一个字符串列表。
var returnValue = new List<List<string>>();
var csv = CSV;
var regexp = new Regex("(?:;|^)\"((?:[^\"]|(?:\"\"))*)\"", RegexOptions.Singleline | RegexOptions.Compiled);
var lines = csv.Split('\n');
foreach (var line in lines)
{
var matches = regexp.Matches(line);
returnValue.Add(matches.Cast<Match>()
.Select(m => m.Groups[1].Value.Replace("\"\"", "\""))
.ToList());
}
return returnValue;