gpt4 book ai didi

python - 使用 Raspberry pi3 将传感器数据保存在 CSV 文件中

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:53 24 4
gpt4 key购买 nike

你能帮我检查一下我下面的Python代码是否正确通过树莓派3以csv格式保存数据?

print("Gyro: %f, %f, %f  [deg/s]" % (cgx, cgy, cgz))
print("Accel: %f, %f, %f [Gs]" % (cax, cay, caz))
print("Mag: %f, %f, %f [gauss]" % (cmx, cmy, cmz))

file = open("/home/pi/data_log.csv", "a")

if os.stat("/home/pi/data_log.csv").st_size == 0:
file.write("Time,Gyro,Accel,Mag\n")

while True:
now = datetime.now())
print >>f,("%s,%f,%f,%f,%f,%f,%f,%f,%f"%(now.datetime("%Y-%m-%d %H:%M:%S"),cgx,cgy,cgz,cax,cay,caz,cmx,cmy,cgz))
file.flush()
time.sleep(5)
file.close()

最佳答案

以下类型的方法应该可以帮助您入门。虽然您缺少更新变量的代码,所以目前它会导致每 5 秒写入相同的值:

from datetime import datetime
import csv
import os

print("Gyro: {}, {}, {} [deg/s]".format(cgx, cgy, cgz))
print("Accel: {}, {}, {} [Gs]".format(cax, cay, caz))
print("Mag: {}, {}, {} [gauss]".format(cmx, cmy, cmz))

filename = "/home/pi/data_log.csv"
write_header = not os.path.exists(filename) or os.stat(filename).st_size == 0

with open(filename, "a", newline="") as f_output:
csv_output = csv.writer(f_output)

if write_header:
csv_output.writerow(["Time", "Gyro", "Accel", "Mag"])

while True:
row = [datetime.now().strftime("%Y-%m-%d %H:%M:%S"), cgx, cgy, cgz, cax, cay, caz, cmx, cmy, cgz]
csv_output.writerow(row)
time.sleep(5)

Python 的 CSV 库可用于将值列表转换为自动正确分隔的行。默认情况下分隔符是逗号。

关于python - 使用 Raspberry pi3 将传感器数据保存在 CSV 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47569850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com