用于C#中CSV文件的Python dictReader()

时间:2017-04-06 15:19:42

标签: c# python parsing

我需要用与Python dictRead()相同的方式在C#中解析CSV文件。 这是我的Python代码:

reader = csv.DictReader(csvfile)

我需要在C#中做同样的事情 我已经尝试了parser.ReadFields(),但它没有按我想要的方式工作。

1 个答案:

答案 0 :(得分:0)

正如您对问题的评论中所讨论的,第三方库(如FileHelpersLinqToCSV)将执行拆分和编写.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();