如何逐列比较CSV文件?

时间:2015-09-17 16:37:50

标签: c# csv compare

我有两个CSV文件,预计会有相同的内容。但是,第二个CSV文件具有相同的数据,但列重新排列在其中。我更关心比较数据。有什么方法可以根据列比较两个CSV文件?我的意思是,比较来自firstCSV的第1列和第二个CSV的第2列。任何帮助都非常感谢。谢谢!

1 个答案:

答案 0 :(得分:2)

假设行的顺序相同,您可以从一个CSV文件中获取值和列名,并将其与下一个CSV文件中的相同列进行比较,如下所示:

List<Dictionary<string, string>> csv1 = ...
List<Dictionary<string, string>> csv2 = ...

for(int i = 0; i < Math.Min(csv1.Count(), csv2.Count()); i++)
{
    Dictionary<string, string> csv2Line = csv2[i];
    foreach(KeyValuePair<string, string> kvp in csv1[i])
    {
        string columnName = kvp.Key;
        if(csv2Line[columnName] != kvp.Value)
            //Do something when the comparison fails.
    }
}