我目前正在编写一种方法来读取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;
答案 0 :(得分:2)
您的内容是标题和行。或简称为DataTable。像许多编程问题一样,你必须决定是否值得额外的工作有更清晰的代码。
你提到你只是读了一个简历并将它发送到另一个软件。为此创建类似乎相当大。另一方面,如果您希望在不久的将来进行更改或扩展,那么现在可能还需要额外的努力。
简而言之: