Python将列中的数据保存到变量中

2024-05-15 05:58:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这里是python的初学者。我正在使用Rapsberry Pi和Arduino处理距离传感器。
传感器数据的输出是连续的,直到程序停止。以下是输出片段:

4 5 5 0 0 448
4 5 5 0 0 0
4 5 5 0 0 0
4 5 5 0 0 0
4 5 5 0 0 0
4 5 5 0 0 0
4 5 5 0 0 448

我的问题是,将每列数据保存到自己的变量中的最佳方法是什么?每列都是由空格分隔的自己的传感器,我需要对每个传感器执行操作。我试图使用.split(),但无法使其正常工作。在

下面是从Arduino获取串行数据的python代码。如果我没有使用.decode().strip(),那么输出将在每个换行的开头有一个b',在每个换行的末尾有一个/r/n。在

^{pr2}$

以下是Arduino代码:

^{3}$

Tags: 数据方法代码程序距离pi传感器arduino
1条回答
网友
1楼 · 发布于 2024-05-15 05:58:34

If I didn't use the .decode() and .strip() then the ouput would have a b' on the beginning of each newline and a /r/n on the end of each newline.

read_serial=ser.readline()

此行返回字节。在python3中,decode函数默认情况下将字节字符串解码为UTF-8。看起来你在处理整数,所以不需要解码。在

^{pr2}$

这将从两端删除换行符和其他空白字符。简单地使用rstrip可能更好,因为这是换行符所在的位置。在

一旦您阅读了行并剥离了换行符,就可以使用split为您的值创建一个数组。示例:

val = b'4 5 5 0 0 448'
row = [int(x) for x in val.split()]

现在可以使用第i行的值来访问第[6]行的值。在

希望这是有道理的。在

相关问题 更多 >

    热门问题