Чтение данных из последовательного ввода в файл CSV на Python

#python #pyserial

#python #pyserial

Вопрос:

Я работаю над созданием системы регистрации данных для массива фотоэлектрических панелей. Две из моих желаемых измеряемых величин — это напряжение и ток, которые я измеряю с помощью следующего устройства. http://www.westmountainradio.com/pdf/PWRcheckManual.pdf

Моя цель — прочитать значения, последовательно выводимые с устройства PWRcheck, отформатировать в файл .csv и сохранить на raspberry pi.

В настоящее время я собрал следующий код, который может считывать данные в файл .xml. Моя конечная цель — прочитать последовательный ввод с устройства, затем записать данные в файл .csv с mV в одном столбце и mA во втором столбце.

Проблема, с которой я сталкиваюсь, заключается в том, что таким образом форматируется последовательный вывод с устройства PWRcheck. Мне не удалось записать эти данные ни в какой файл, кроме файла .xml.

 numoflines=0
f = open("test.xml","wb")
while numoflines<2:
    db = ser.readline()
    numoflines = numoflines 1
    ser.flushInput()

while True:
    try:
        data = ser.readline()
        print(db)
        f.write(db)
        f.flush()
    except(KeyboardInterrupt):
        print("Keyboard Interrupt")
        break
  

Данные с устройства PWRcheck печатаются в следующем формате.

 6027,13
6027,13
6026,13
6024,13
6028,13
6024,13
6028,13
6027,12
6031,12
6027,13
6027,13
6028,13
6027,13
  

Я пытался использовать функцию разделения, но получал следующую ошибку:

 TypeError: a bytes-like object is required, not 'str'
  

Кажется, что каждая строка записана как отдельная строка, которую я не смог разобрать. Любой совет был бы высоко оценен.

Комментарии:

1. Первый цикл while предназначен для игнорирования некоторых строк с устройства, которые мне не нужны.

2. использовать f.write(db.encode())