我的文本文件包含格式为
的数据100; 10:24
100; 11:34
200; 9:40
200; 12:45
如何在读取后将数据转换为格式
100 10:24 11:34
200 9:40 12:45
结果我想将所有行开头与单行100中的100组合成一个键并以200行开头,因此第一列是键
答案 0 :(得分:3)
您可以使用File.ReadLines
读取行,LINQ' Enumerable.GroupBy
按第一个字段分组,File.WriteAllLines
覆盖文件(或写入不同的文件) ):
Dim newLines = From line In File.ReadLines("Path")
Let fields = line.Split({";"c}, StringSplitOptions.None)
Where fields.Length >= 2
Group fields By FirstCol = fields(0).Trim() Into FirstColGroup = Group
Select String.Format("{0} {1}",
FirstCol,
String.Join(" ", From fields In FirstColGroup Select fields(1)))
File.WriteAllLines("Path", newLines.ToList())
String.Join
使用空格作为分隔符连接所有第二个字段(arr(1)
)。
答案 1 :(得分:1)
创建一个字典,其中行的第一部分作为键,字符串列表或相应的数据类型作为值。把你的第二部分放入列表中 然后,当您浏览文件数据时,将其解析为结构,之后使用它来覆盖旧文件或对数据执行任何操作。