vb .net如何重新安排数据

时间:2015-06-01 10:09:33

标签: .net vb.net

我的文本文件包含格式为

的数据

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行开头,因此第一列是键

2 个答案:

答案 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)

创建一个字典,其中行的第一部分作为键,字符串列表或相应的数据类型作为值。把你的第二部分放入列表中 然后,当您浏览文件数据时,将其解析为结构,之后使用它来覆盖旧文件或对数据执行任何操作。