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