我如何重新安排数据

编程入门 行业动态 更新时间:2024-10-19 03:30:19
本文介绍了我如何重新安排数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个包含格式数据的文本文件 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行开头,因此第一列是键

I have a text file contains data in the format 100;10:24 100;11:34 200;9:40 200;12:45 how I can convert the data after reading to the format 100 10:24 11:34 200 9:40 12:45 as result I want to combine all line starts with 100 in single line 100 is a key and starts with 200 in line so the first column is a key

推荐答案

创建一个字典< int,string>()对象 打开文件 每行使用Split分割上 ;给出一个字符串数组 将数组中的第一项(100,200等)转换为int 检查int是否作为字典中的键存在(使用ContainsKey) 如果密钥不存在,添加值为数组中的第二项 如果密钥确实存在,则获取关联的字符串并附加一个空格,然后在数组中添加第二项 创建一个新文件 现在循环遍历字典中的每个关键项写出钥匙加上一个空格加上字符串值 为了抢先你的下一个问题,不,我不会给你的代码,它应该很简单,将上面的伪代码转换成实际代码。 Create a Dictionary<int, string >() object Open the file for each line use "Split" to split on ";" which gives an array of strings Convert the first item in the array (the 100, 200 etc) to an int Check if that int exists as a key in your dictionary (use ContainsKey) if the key doesn't exist, add it with the value being the second item in the array if the key does exist, get the associated string and append a space and then the second item in the array Create a new file Now loop through each key item in the dictionary and write out the key plus a space plus the string value To pre-empt your next question, no I won't "give you the code", it should be simple enough to convert the pseudo code above into actual code.

你可以使用LINQ you can use LINQ Dim lines = File.ReadAllLines(filepath).Select(Function(record) record.Split(";"C)).Where(Function(cell) cell.Length >= 2).GroupBy(Function(x) x(0)).Select(Function(x) x.Key + " " + String.Join(" ", x.Select(Function(y) y(1)))) File.WriteAllLines(filepath, lines)

参考阅读: msdn.microsoft/en-us/library /system.io.file.readalllines(v=vs.110).aspx [ ^ ] msdn.microsoft / zh-cn / library / system.io.file.writealllines(v = vs.110).aspx [ ^ ] msdn.microsoft/en-us/library/b873y76a(v = vs.110 ).aspx [ ^ ] https ://msdn.microsoft/en-us/library/tabh47cf(v = vs.110).aspx [ ^ ] msdn.microsoft/en-us/library/ 57a79xd0(v = vs.110).aspx [ ^ ] https ://msdn.microsoft/en-us/library/bb531412.aspx [ ^ ]

reference to read: msdn.microsoft/en-us/library/system.io.file.readalllines(v=vs.110).aspx[^] msdn.microsoft/en-us/library/system.io.file.writealllines(v=vs.110).aspx[^] msdn.microsoft/en-us/library/b873y76a(v=vs.110).aspx[^] msdn.microsoft/en-us/library/tabh47cf(v=vs.110).aspx[^] msdn.microsoft/en-us/library/57a79xd0(v=vs.110).aspx[^] msdn.microsoft/en-us/library/bb531412.aspx[^]

学会自己动手: 1. 逐行阅读文本文件 [ ^ ] 2. VB .NET中的Split()和Join() [ ^ ] Learn to do it yourself: 1. Reading a Text File Line by Line[^] 2. Split() and Join() in VB .NET[^]

更多推荐

我如何重新安排数据

本文发布于:2023-07-14 09:57:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1104031.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!