菜鸟学习2 1、传入数据data.txt如下:
AAAAF110 0003E5F0 0003E22C 0003E794 0003FFFC BA AAAAF110 0003E688 0003E238 0003E788 0003FFFC 53 AAAAF110 0003E764 0003E22C 0003E77C 0003FFFC 18 AAAAF110 0003E7E8 0003E210 0003E784 0003FFFC 88 AAAAF110 0003E830 0003E210 0003E778 0003FFFC C5 AAAAF110 0003E828 0003E1FC 0003E778 0003FFFC A8 AAAAF110 0003E814 0003E208 0003E774 0003FFFC 9D AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5 AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85 AAAAF110 0003E7F0 0003E208 0003E764 0003FFFC 68 AAAAF110 0003E7CC 0003E1FC 0003E758 0003FFFC 2B
2、自定义帧头AAAAF110,这个数据在matlab中load不了,因为无法识别自定义帧头,所以采用python进行数据提取。
3、‘0003E7CC’这是我们的一个数据,这就相当于一帧数据有4个数据,但其中只有3个有效数据,现在想取出每帧数据的第一位数据,代码如下:
import codecs k = codecs.open('data.txt', mode='r', encoding='utf-8') file = codecs.open('data_transout.txt', mode='w', encoding='utf-8') line = k.readline() while line: a = line[8:17] print(a) file.write(a+'\n') line = k.readline()
代码实现过程是:1、打开数据存储处'data.txt';2、建立一个数据提取输出文本‘data_transout.txt’;3、以行的形式进行读取数据,即每帧数据的读取;4、取每帧数据的8到17位,即我们所需的数据,然后存储到指定文本中;5、循环调用,直到最后一帧数据的提取。