3

CSV ファイルの特定の 2 つの部分を比較しようとしています。

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 と

     Datafile.csv          Val2Compare1
                           Val2Compare2
                           Val2Compare3
                           ...

どの行が真であるかを取得したとき (この場合は行 2)。次に、JobStat.csv と Datafile.csv を次のように結合します。

NEW JOBSTART.CSV


test1;test2;test3;test4;Val2Compare2;test5;test6;test7; data1;data2;data3;data4;data5

私は見てみました:

C#で使用して2つのcsvファイルを比較する

2 つの 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

しかし、多くの助けを得ることができませんでした。

4

1 に答える 1

2

これを試して:

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;
    }
}
于 2013-11-13T13:55:23.817 に答える