python - Python 代码未将读数存储在 .csv 文件中。收到“预期序列”错误。知道如何解决这个问题吗?
问题描述
我正在应用一个从 gps 读取坐标并将其填充到 .csv 文件中的代码。我对这一切都很陌生,所以我无法解决这个问题。我在其他程序中使用过“csv”代码,它已经奏效了。但这让我很难过。错误如下:
Traceback (most recent call last):
File "GPScodetest2.py", line 48, in <module>
data_writer.writerow(data)
_csv.Error: sequence expected
如何解决这个问题?
PS代码:
from time import sleep, strftime, time
import serial
import pynmea2
import datetime
from csv import writer
#setup the serial port to which gps is connected
port = "/dev/ttyS0"
ser = serial.Serial(port, baudrate = 9600, timeout = 0.5)
dataout = pynmea2.NMEAStreamReader()
counter = 0
def get_sense_data():
while True:
newdata = ser.readline()
if newdata[0:6] == '$GPGGA':
parsed_line = pynmea2.parse(newdata)
latitude_reading = parsed_line.latitude
alpha = latitude_reading
#print(newlat)
longitude_reading = parsed_line.longitude
beta = longitude_reading
#print(newlong)
#print(latitude_reading)
#print(longitude_reading)
sense_data=[]
sense_data.append(counter)
sense_data.append(datetime.datetime.now())
sense_data.append(alpha)
sense_data.append(beta)
return sense_data
with open('GPSdata.csv', 'w+') as f:
data_writer = writer(f)
data_writer.writerow(['Term No.','Date and Time','Latitude',
' Longitude'])
while True:
data = get_sense_data
data_writer.writerow(data)
counter = counter + 1
解决方案
您没有调用该函数:
data = get_sense_data
尝试调用它:
data = get_sense_data()
推荐阅读
- c++ - 类成员函数参考
- node.js - NodeJS-Express 联系表单模板在同一部分刷新
- excel - VBA 宏日期格式
- knitr - 如何避免 html 中 knitr kable 表中的分页符
- verilog - Verilog 中的数据有效信号
- visual-studio-extensions - 在 InitializeAsync 期间在 2015 VSIX AsyncPackage 中使用 FindToolWindow
- node.js - 错误:ESOCKETTIMEDOUT 但似乎不像其他 SO 帖子建议的那样是 DNS
- python - Python - 如何在不使用太多内存的情况下存储许多类?
- firebase-realtime-database - 使用nodemcu将sim 808 gps数据发送到firebase ...发送0数据
- spring-boot - spring-data 中如何实现方法:findAll()、save() 等?