读取表格分隔的数据并在文本框中显示(c#, Visual Studio)

本文关键字:显示 Visual Studio 分隔 表格 数据 文本 读取 | 更新日期: 2023-09-27 18:11:29

我正在为我们的无人机工作调试程序。它在一个表格分隔的文本文件(.txt)中记录飞行信息数据(像一个黑匣子),我不想在程序中显示其中的一些数据,以便于阅读。

这就是我想要的程序的工作方式:

  1. 用户通过按钮打开文本文件
  2. 用户可以通过拖动跟踪条来浏览航班日志行
  3. 当用户滚动日志线时,文本框更新来自相关飞行传感器的数据。

日志文件记录175个不同的传感器/值。前175组文本是标题,从那里开始,在您再次遇到来自同一类别的数据之前,有175条数据。

示例:如果我想阅读avx Throttle,标题"avx Throttle"是第18组。175组后,我得到第一个节流值,175组后,我得到下一个节流值,以此类推。

我的问题:我如何确保我的文本框只抓取正确的数据块?

  1. 在文本框中写入值之前,我可以使其"计数"制表符的数量吗?
  2. 将文本文件转换为更数据库友好的文件类型,如。csv,。xlsx或其他类型会更好吗?
  3. 如果是,我是否能够使文本框从表中的某一列抓取值(如Excel图片中的s列(avx Throttle))?我想这样工作就容易多了吧?

明白我在说什么->程序图像、原始日志文件和在Excel中打开时的日志文件

我希望你能引导我在正确的方向!:)

真诚,Morten。

读取表格分隔的数据并在文本框中显示(c#, Visual Studio)

如果你想删除空格/制表符,你需要替换它们或者用它们分开。这里有一些选项来摆脱标签/空白

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和虚拟表来操作你的数据