我需要用与Python dictRead()相同的方式在C#中解析CSV文件。 这是我的Python代码:
reader = csv.DictReader(csvfile)
我需要在C#中做同样的事情
我已经尝试了parser.ReadFields()
,但它没有按我想要的方式工作。
答案 0 :(得分:0)
正如您对问题的评论中所讨论的,第三方库(如FileHelpers或LinqToCSV)将执行拆分和编写.csv
文件的必要操作。
另外,我在SO上发现了一个正常运行,但是我在几个应用程序中都没有使用它。
这是一个片段,我将其用作字符串扩展名:
using System.Text.RegularExpressions;
public static class StrExtensions
{
private static Regex csvSplit =
new Regex(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)", RegexOptions.Compiled);
public static string[] FieldsFromCSV(this string str)
{
return csvSplit.Split(str);
}
}
然后,你可以说:
string[] fields = line.FieldsFromCSV();