我有两个包含不同列的文本文件,每列由制表符(“”)分隔。我想要做的是以下几点: -
如果文本文件 2 第 1 列中的值不包含文本文件 1 第 1 列中的任何值,则将该字段添加到文本文件 2 并将 1 添加到第二列,如下所示
字符串 1
如果文本文件 2 第 1 列中的值已经出现在文本文件 1 第 1 列中,则只需将 +1 添加到该值中,因此如果上述值已经在文本文件 1 第 1 列和文本文件 2 第 1 列中,则它将显示为.
字符串 2
如果它再次发生
String 3
等等。
到目前为止,我有以下编码。
Dim lines1 As New List(Of String)(IO.File.ReadAllLines("File1"))
Dim lines2 As New List(Of String)(IO.File.ReadAllLines("File2"))
IO.File.WriteAllLines("File2", lines1.ToArray) & +1)
更新
Dim lines1 As New List(Of String)(IO.File.ReadAllLines("D:\Test\File6.txt"))
Dim lines2 As New List(Of String)(IO.File.ReadAllLines("D:\Test\File5.txt"))
Dim values As New Dictionary(Of String, Integer)()
For Each line As String In lines1
Dim fields() As String = line.Split(" "c)
If fields.Length > 1 Then
values(fields(0)) = Integer.Parse(fields(1))
End If
Next
For Each line As String In lines2
Dim fields() As String = line.Split(" "c)
If fields.Length > 0 Then
If values.ContainsKey(fields(0)) Then
values(fields(0)) = values(fields(0)) + 1
Else
values(fields(0)) = 1
End If
End If
Next
lines1.Clear()
For Each pair As KeyValuePair(Of String, Integer) In values
lines1.Add(pair.Key + " " + pair.Value.ToString())
Next
IO.File.WriteAllLines("D:\Test\File6.txt", lines1.ToArray)
我使用上面的编码,但它删除了第二列?