【问题标题】:How to compare CSV files column wise?如何明智地比较 CSV 文件的列?
【发布时间】:2015-09-17 16:37:50
【问题描述】:

我有两个应该具有相同内容的 CSV 文件。但是,第二个 CSV 文件具有相同的数据,但其中的列重新排列。不过,我更关心比较数据。有什么方法可以根据列比较两个 CSV 文件?我的意思是,将 firstCSV 的第 1 列与 secondCSV 的第 2 列进行比较。非常感谢任何帮助。谢谢!

【问题讨论】:

  • 将csv文件转换或加载到数据表中,然后您可以根据DataTable.Rows[0]["ColumnName]值进行比较

标签: c# csv compare


【解决方案1】:

假设行的顺序相同,您可以从一个 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.
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多