Arduino MLX90614 到 Pyserial 错误将字符串转换为浮点数

Arduino MLX90614 to Pyserial error converting String to Float

美好的一天!我在为我的 arduino MLX90614 代码苦苦挣扎,我的 pyserial 无法读取它显示的数据

这是我的 arduino MLX90614 代码:

#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600); 
  mlx.begin();  
}

void loop() {
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); 
  Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF()); 
  Serial.print("*F\tObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");
  Serial.println();
  delay(500);
}

这是我的 python 代码“Pyserial”,用于从我的 arduino

读取数据
import csv
from time import time

import serial

# Your serial port might be different!
ser = serial.Serial('COM5', timeout=1)

f = open("df.csv", "a+")
writer = csv.writer(f, delimiter=',')

while True:
    s = ser.readline().decode()
    if s != "":
        rows = [float(x) for x in s.split(',')]
        # Insert local time to list's first position
        rows.insert(0, int(time()))
        print(rows)
        writer.writerow(rows)
        f.flush()

但结果显示的是这个

"rows = [float(x) for x in s.split(',')] ValueError:无法将字符串转换为浮点数:'Ambient 30c /n'"

请有人帮我解决这个问题我真的很难将我的 Arduino MLX90614 连接到我的 Arduino。提前致谢

如果 s != '' 不是 space,请在引号之间添加白色 space,这是无法传递给 int 构造函数的返回值。

注释掉列表推导式并改为打印以查看您的代码存储的当前值。