读取表格分隔的数据并在文本框中显示(c#, Visual Studio)
本文关键字:显示 Visual Studio 分隔 表格 数据 文本 读取 | 更新日期: 2023-09-27 18:11:29
我正在为我们的无人机工作调试程序。它在一个表格分隔的文本文件(.txt)中记录飞行信息数据(像一个黑匣子),我不想在程序中显示其中的一些数据,以便于阅读。
这就是我想要的程序的工作方式:
- 用户通过按钮打开文本文件
- 用户可以通过拖动跟踪条来浏览航班日志行
- 当用户滚动日志线时,文本框更新来自相关飞行传感器的数据。
日志文件记录175个不同的传感器/值。前175组文本是标题,从那里开始,在您再次遇到来自同一类别的数据之前,有175条数据。
示例:如果我想阅读avx Throttle,标题"avx Throttle"是第18组。175组后,我得到第一个节流值,175组后,我得到下一个节流值,以此类推。
我的问题:我如何确保我的文本框只抓取正确的数据块?
- 在文本框中写入值之前,我可以使其"计数"制表符的数量吗?
- 将文本文件转换为更数据库友好的文件类型,如。csv,。xlsx或其他类型会更好吗?
- 如果是,我是否能够使文本框从表中的某一列抓取值(如Excel图片中的s列(avx Throttle))?我想这样工作就容易多了吧?
明白我在说什么->程序图像、原始日志文件和在Excel中打开时的日志文件
我希望你能引导我在正确的方向!:)
真诚,Morten。
如果你想删除空格/制表符,你需要替换它们或者用它们分开。这里有一些选项来摆脱标签/空白
string s = dataText.Replace("'t", ",");
那么你可以使用
分割string[] arrayOfData = s.Split(new char{','};
如果是空白,可以输入
string s = dataText.Replace(" ", ",");
那么你可以使用
分割string[] arrayOfData = s.Split(new char{','};
如果你需要遍历数组的值你可以使用for循环并且根据你需要的列你可以沿着这个
行做一些事情for(int i=0; i < arrayOfData.Length; i++){
if(columnYouWant){
//manipulate data arrayOfData[i]
}
你也可以做一个DataTable和虚拟表来操作你的数据