私はtext1.txt
以下のような内容を持っています:
longitude,latt,u,70772,xxxx
31, 121, -10.2
31, 122, -20.9
31, 123, 40.8
.
.
44, 131, -44.1
私はtext2.txt
以下のような内容を持っています:
longitude,latt,v,70772,xxxx
31, 121, 12.1
31, 122, 32.4
31, 123, -2.5
.
.
44, 131, 7.3
ご覧のとおり、いくつかの共通点がtext1.txt
あります。text2.txt
第 1 の共通点: 重要でない情報が含まれているため、各テキスト ファイルの最初の行はスキップする必要があります。
2 番目の共通点: 各テキスト ファイルには、同じ経度と緯度の値が含まれています。
31 , 121 , x
31 , 122 , x
31 , 123 , x
.
.
44 , 131 , x
私の目的は、結合text1.txt
しtext2.txt
てresult.txt
次の結果を得ることです。
31, 121, -10.2, 12.1
31, 121, -20.9, 32.4
31, 123, 40.8, -2.5
.
.
44, 131, -44.1, 7.3
このソースMergeTwoTextFileを参照すると、2 つのテキスト ファイルをマージする方法は既にわかっています。しかし、私が知らないのは、特定の条件で2つのテキストファイルをマージする方法です。
concat
のようなことができるといいのですがdistict
、何か考えはありますか?
更新: 3 つの UI ボタン
ファイルを開くボタンのコード
private void toolStripBtnOpenV_Click(object sender, EventArgs e)
{
toolStripBtnOpenV.Enabled = false;
openFileDialog1.FileName = "";
openFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
if (openFileDialog1.ShowDialog() != DialogResult.OK)
return;
v_filePath = openFileDialog1.FileName;
if (toolStripBtnOpenU.Enabled == false)
{
toolStripBtnMerge.Enabled = true;
}
}
MergeUV button_click イベント内で、最初の行を次のように変更することを除いて、SamiHuutoniemi が提案したようにします。
List<string> filelist = new List<string>() { v_filePath , u_filePath };
ファイルサイズが 5MB を超える場合、出力ファイルを書き込むのに最低 20 分かかります。