如何比较2个.csv文件并从两个csv文件创建一个包含新的.csv文件?

我想比较CSV文件的两个特定部分。

JobStart.csv test1;test2;test3;test4;Val2Compare2;test5;test6;test7.... Datafile.csv line 1 Val2Compare1; data1;data2;data3;data4;data5;data6 line 2 Val2Compare2; data1;data2;data3;data4;data5;data6 line 3 Val2Compare3; data1;data2;data3;data4;data5;data6 

我想做的是:

比较值:JobStart.csv Val2Compare2 to

  Datafile.csv Val2Compare1 Val2Compare2 Val2Compare3 ... 

当我得到哪一行是真的(在这种情况下是line2)。 然后我想像这样结合JobStat.csv和Datafile.csv:

 NEW JOBSTART.CSV test1;test2;test3;test4;Val2Compare2;test5;test6;test7; data1;data2;data3;data4;data5 

我试着看一下:

在C#中比较两个csv文件

比较两个csv文件的特定列

比较2个csv文件并替换更新的值

http://social.msdn.microsoft.com/Forums/vstudio/en-US/3f334045-2ac7-44b9-afaa-bd8d83c8ef27/read-csv-file-and-get-specific-column-from-each-line?论坛= csharpgeneral

但是得不到多少帮助。

试试这个:

 var jobStartLine = File.OpenText(@"JobStart.csv").ReadLine(); var comparisonField = jobStartLine.Split(';')[4]; foreach (var line in File.ReadAllLines(@"Datafile.csv")) { var fields = line.Split(new char[] {';'}, 2); if (comparisonField == fields[0]) { File.WriteAllLines(@"NewJobStart.csv", new string[] { jobStartLine + ";" + fields[1] }); break; } }