Python
1import time, serial, micropyGPS, csv 2import pandas as pd 3 4gps = micropyGPS.MicropyGPS(9, 'dd') 5 6#関数------------------------------------------------------ 7def rungps(): 8 s = serial.Serial('/dev/serial0', 9600, timeout=10) 9 s.readline() 10 while True: 11 sentence = s.readline().decode('utf-8') 12 if sentence[0] != '$': 13 continue 14 for x in sentence: 15 gps.update(x) 16 17 if gps.clean_sentences > 20: 18 print('%2.8f, %2.8f' % (gps.latitude[0], gps.longitude[0])) 19 df = pd.DataFrame([gps.latitude[0], gps.longitude[0]]) 20 df.to_csv("11.csv") 21 time.sleep(1.0) 22#--------------------------------------------------------- 23rungps() 24
このコードを実行するとprint文によってターミナルには緯度経度が表示されますが、本命のcsvファイルの方には意図していた書き込みがなされておらず、一回分しか出力されていなかったのでどこが間違っているのか教えていただきたいです。
よろしくお願いします。
以下が上のコードを実行した時の実際の動作です
,0
0,35.00000
1,139.0000000000
本来であれば、以下のようにその瞬間に取得した緯度経度をcsvファイルに出力させたかったです。
35.00000,139.00000
35.00001,139.00001
35.00002,139.00002
...
...
※緯度経度情報は伏せさせていただいています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/30 05:27
2018/11/30 14:22