首页 > 解决方案 > 从 Arduino 读取串行数据时无法格式化浮点经过时间

问题描述

我正在尝试使用以下 python 3 程序将来自连接到 Arduino 的传感器的传入数据导出为 csv:

import serial
import time
import csv

ser = serial.Serial('/dev/cu.usbmodem1411')
ser.flushInput()
print("Press Ctrl+C to stop data logging")
file=open("datalogger.csv","w")

start_time=time.time()

while True:
    try:
        ser_bytes = ser.readline()
        decoded_bytes=ser_bytes.decode("ascii").split(',')
        print(decoded_bytes)
        t=time.time()-start_time
        print(t)
        t2="{:.2f}".format(t)
        writer = csv.writer(file,delimiter=",")
        writer.writerow([t2,decoded_bytes[0], decoded_bytes[1]])
    except KeyboardInterrupt:
        print("Program stopped")
        file.close()
        break

但是,无论我尝试什么,保存的 csv 都会继续显示经过时间(变量 t) unrounded。感激地收到任何帮助。

标签: python-3.x

解决方案


推荐阅读