我拥有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
有一些相同的共性。
第一个常见:每个文本文件的第一行应该被跳过,因为包含不重要的信息
2nd common:每个文本文件包含相同的经度和纬度值,即
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我已经知道如何合并两个文本文件。但我不知道的是,如何合并具有某些特定条件的两个文本文件。
我希望可以做一些类似的事情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 分钟