首先,我得说我是Python编程的初学者,我已经将sensor连接到rpi3uart端口。我在网上找到了这个传感器的工作程序。经过一点修改,它将我的测量结果写入文件。代码如下:
import serial
import time
import sys
import json
import datetime
import binascii
class pmsA003():
def __init__(self, dev):
self.serial = serial.Serial(dev, baudrate=9600,
timeout=3)
def __exit__(self, exc_type, exc_value, traceback):
self.serial.close()
def setIdel(self):
idelcmd = b'\x42\x4d\xe4\x00\x00\x01\x73'
ary = bytearray(idelcmd)
self.serial.write(ary)
def setNormal(self):
normalcmd = b'\x42\x4d\xe4\x00\x01\x01\x74'
ary = bytearray(normalcmd)
self.serial.write(ary)
def vertify_data(self):
if not self.data:
return False
return True
def read_data(self):
while True:
b = self.serial.read(1)
if b == b'\x42':
data = self.serial.read(31)
if data[0] == b'\x4d':
self.data = bytearray(b'\x42' + data)
if self.vertify_data():
return self._PMdata()
def _PMdata(self):
d = {}
d['apm10'] = self.data[4] * 256 + self.data[5]
d['apm25'] = self.data[6] * 256 + self.data[7]
d['apm100'] = self.data[8] * 256 + self.data[9]
return d
if __name__ == '__main__':
con = pmsA003('/dev/ttyAMA0')
d = con.read_data()
print(d)
with open('/home/pi/ramdisk/PMA003', 'a') as f:
f.write("%s" % (d))
结果,我进入了控制台,文件字符串如下:
{'apm10': 150, 'apm100': 244, 'apm25': 228}
但我的目标是在表单中创建类似CSV的文件:
,value_of_apm10, value_of_apm25, value_of_apm100
有人能帮我修改上面的代码吗?你知道吗
您需要导入Python CSV库,然后创建一个
csv.DictWriter
对象。(请参阅Python文档,了解如何做到这一点—这相当简单)。你知道吗当您创建
DictWriter
时,您会给它一个所需列标题的列表。然后,对于要写入CSV文件的每条记录,只需创建一个字典,其中的键对应于列标题,并调用DictWriter的writerow()
方法。你知道吗这里有一个例子正好说明了您需要做什么here.
相关问题 更多 >
编程相关推荐