如何使用Python从多个Arduino ADC读取串行数据?

如何使用Python从多个Arduino ADC读取串行数据?,python,string,arduino,serial-port,export-to-csv,Python,String,Arduino,Serial Port,Export To Csv,我是Python的乞丐。我正在尝试用Python将串行端口数据从Arduino写入CSV文件。 我想以以下格式保存数据:时间、传感器1、传感器2作为数字,以便在Excel中以单独的列打开它们。 我的代码允许按如下方式获取CSV: 12:25:57,“294293” 我不能删除这些引文 串行输出的我的Arduino代码: Serial.print(sensorValue_1); Serial.print(","); Serial.println(sensorValue_2);

我是Python的乞丐。我正在尝试用Python将串行端口数据从Arduino写入CSV文件。 我想以以下格式保存数据:时间、传感器1、传感器2作为数字,以便在Excel中以单独的列打开它们。 我的代码允许按如下方式获取CSV:

12:25:57,“294293” 我不能删除这些引文

串行输出的我的Arduino代码:

Serial.print(sensorValue_1);
Serial.print(",");
Serial.println(sensorValue_2);
delay(1000);
我的Python代码:

import csv
import serial
import time

ser=serial.Serial("COM15", 9600)
ser.flushInput()

while True:
    ser_bytes = ser.readline().decode().strip()


    t = time.localtime()
    decoded_time = time.strftime('%H:%M:%S', t)
    print(decoded_time, ser_bytes)
    with open("test_file.csv", "a", newline='') as f:
        writer = csv.writer(f, delimiter = ",")
        writer.writerow([decoded_time, ser_bytes])
        f.close()

非常感谢您的帮助。

我编辑了您的代码并添加了一些注释。 如果这是你需要的,试试这个

import csv
import serial
import time

ser=serial.Serial("COM15", 9600)
ser.flushInput()

while True:
    #use split(',') to seperate ser_byte string to list
    ser_bytes = ser.readline().decode().strip().split(',')

    # using list comprehension to perform conversion to int
    new_ser_bytes = [int(i) for i in ser_bytes]

    #new_ser_bytes[0] is sensorValue_1
    #new_ser_bytes[1] is sensorValue_2
    
    t = time.localtime()
    decoded_time = time.strftime('%H:%M:%S', t)
    #print(decoded_time, ser_bytes)
    with open("test_file.csv", "a", newline='') as f:
        writer = csv.writer(f, delimiter = ",")
        #writerow with seperate sensorValue
        writer.writerow([decoded_time, new_ser_bytes[0], new_ser_bytes[1]])
        f.close()

你能展示你想要的输出吗?嗨,作为一个输出,我想得到这样的东西(x,y1,y2):12:25:563633512:25:5729429312:25:58279276我想用它在Excel或Matplotlib中制作图表。米龙索在你的问题中提到了这一点,而不是埋没在评论中