如何删除 csvwriter 输出周围的引号和括号
How to remove quotation and parenthesis around csvwriter output
我有一个可以输出纬度和经度的 gps 传感器。与此同时,我在 timec() 中调用当前时间。我想将这些值输出到一个文本文件中,我可以将该文件上传到 excel 进行外推。
我的输出目前看起来像
14:48:48,"(36.12306, -97.06177333333332)"
我需要我的输出看起来像
14:48:48, 36.12306, -97.06177333333332
我试过下面的方法:
import time
import board
import busio
import adafruit_gps
import csv
import serial
import time
from datetime import datetime
def timec():
now = datetime.now().time()
current_time = now.strftime("%H:%M:%S")
return current_time
def GPS():
uart = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=10)
gps = adafruit_gps.GPS(uart, debug=False) # Use UART/pyserial
gps.send_command(b"PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0")
gps.send_command(b"PMTK220,1000")
last_print = time.monotonic()
while True:
gps.update()
current = time.monotonic()
if current - last_print >= 1.0:
last_print = current
if not gps.has_fix:
print("Waiting for fix...")
continue
lat = gps.latitude
lon = gps.longitude
return lat,lon
if __name__ == '__main__':
while True:
ctime = timec()
coord = GPS()
Rows = (ctime,coord)
with open('Text FILE69', 'a', newline='') as f:
write = csv.writer(f)
write.writerow(Rows)
time.sleep(1)
我知道我的问题在于我如何称呼纬度和经度。在 'main' 和 GPS()
的底部
将 GPS
的结果分散到不同的变量中。
你应该只打开文件一次,而不是每次都通过循环。您可以使用 f.flush()
立即将行刷新到文件。
if __name__ == '__main__':
with open('Text FILE69', 'a', newline='') as f:
write = csv.writer(f)
while True:
ctime = timec()
lat, lon = GPS()
Rows = (ctime, lat, lon)
write.writerow(Rows)
f.flush()
time.sleep(1)
我有一个可以输出纬度和经度的 gps 传感器。与此同时,我在 timec() 中调用当前时间。我想将这些值输出到一个文本文件中,我可以将该文件上传到 excel 进行外推。 我的输出目前看起来像
14:48:48,"(36.12306, -97.06177333333332)"
我需要我的输出看起来像
14:48:48, 36.12306, -97.06177333333332
我试过下面的方法:
import time
import board
import busio
import adafruit_gps
import csv
import serial
import time
from datetime import datetime
def timec():
now = datetime.now().time()
current_time = now.strftime("%H:%M:%S")
return current_time
def GPS():
uart = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=10)
gps = adafruit_gps.GPS(uart, debug=False) # Use UART/pyserial
gps.send_command(b"PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0")
gps.send_command(b"PMTK220,1000")
last_print = time.monotonic()
while True:
gps.update()
current = time.monotonic()
if current - last_print >= 1.0:
last_print = current
if not gps.has_fix:
print("Waiting for fix...")
continue
lat = gps.latitude
lon = gps.longitude
return lat,lon
if __name__ == '__main__':
while True:
ctime = timec()
coord = GPS()
Rows = (ctime,coord)
with open('Text FILE69', 'a', newline='') as f:
write = csv.writer(f)
write.writerow(Rows)
time.sleep(1)
我知道我的问题在于我如何称呼纬度和经度。在 'main' 和 GPS()
的底部将 GPS
的结果分散到不同的变量中。
你应该只打开文件一次,而不是每次都通过循环。您可以使用 f.flush()
立即将行刷新到文件。
if __name__ == '__main__':
with open('Text FILE69', 'a', newline='') as f:
write = csv.writer(f)
while True:
ctime = timec()
lat, lon = GPS()
Rows = (ctime, lat, lon)
write.writerow(Rows)
f.flush()
time.sleep(1)