我有一个相对简单的python代码,可从arduino读取串行数据并将其输出到csv文件中。
我能够成功保存数据,但是需要它,以便当再次运行代码时,它可以创建一个新文件。 (Data1 ... Data2 ...等)。
我已经编写了应该执行此操作的代码,但是它只是将更多数据添加到第一个文件中,而从不创建任何其他文件:
import serial
import time
from datetime import datetime
import os
timestamp = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
#The purpose of this code is to read the data from the arduino and then save
each string
# into a csv file, which can be retrieved via the RPi's USB.
ser = serial.Serial('/dev/ttyACM0',115200) #on the pi
#ser=serial.Serial('COM6',115200) #on the pc
for i in range(1,100000):
while True:
str(ser.readline())
s = [0]
s[0] = str(ser.readline())
s[0] = str(ser.readline())
s[0] = str(ser.readline())
while os.path.exists("TDRData%s.csv" % i):
i += 1
f = open("TDRData%s.csv" % i, "a+")
f.write(timestamp+s[0])
我不确定为什么它不起作用。我觉得我的方法可能有点懒,可以对其进行优化,因此,如果有任何建议,不妨听听他们的建议。
我还有一个小问题,目前这不是紧迫的问题。但是,正在打印到csv文件中的时间戳是静态的。我需要它对每行数据都是动态的。有什么解决办法吗?