在Python

时间:2019-03-25 03:11:34

标签: python pyserial

我正在为一系列光伏面板创建数据记录系统。我需要的两个可测量指标是电压和电流,它们是通过以下设备测量的。 http://www.westmountainradio.com/pdf/PWRcheckManual.pdf

我的目标是读取从PWRcheck设备串行输出的值,将其格式化为.csv文件,并将其存储在树莓派上。

当前,我已经拼凑了以下代码,这些代码可以将数据读取到.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

我尝试使用split函数,但收到以下错误:

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

似乎每一行都写为一个我无法解析的字符串。任何建议将不胜感激。

0 个答案:

没有答案