質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

322閲覧

pythonプログラミング実行後出力されるhtmlをひとつにまとめたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2018/12/18 05:51

以下のプログラムを実行するとhtmlがいくつも異なるタブで開かれてしまうのですが、同一タブで開けるようにしたいです。

Python

1# GPS→ "latlon.csv"→ MAP 2# (日付.html)へ保存 3 4import csv, folium, io, micropyGPS, serial, time 5import pandas as pd 6import webbrowser 7from selenium import webdriver 8from selenium.webdriver.common.keys import Keys 9 10gps = micropyGPS.MicropyGPS(9, 'dd') 11driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver") 12#--------------------------------------------------------------------------------- 13def rungps(): 14 s = serial.Serial('/dev/serial0', 9600, timeout=10) 15 s.readline() 16 while True: 17 sentence = s.readline().decode('utf-8') 18 if sentence[0] != '$': 19 continue 20 for x in sentence: 21 gps.update(x) 22 23 if gps.clean_sentences > 20: 24 print('%2.8f, %2.8f' % (gps.latitude[0], gps.longitude[0])) 25 df = pd.DataFrame([[gps.latitude[0], gps.longitude[0]]]) 26 df.to_csv('latlon02.csv', mode='a', header=False, index=False) 27 plot_to_map() 28 time.sleep(5.0) 29#--------------------------------------------------------------------------------- 30def plot_to_map(): 31 df = pd.read_csv('latlon02.csv', names=('lat', 'lon')) 32 map = folium.Map(location=[df.lat[0], df.lon[0]], zoom_start=18) 33 34 for i, r in df.iterrows(): 35 folium.Marker(location=[r['lat'], r['lon']], icon=folium.Icon(color='black', icon='circle')).a$ 36 map.save("h1218.html") 37 38 webbrowser.open('file:///home/pi/Desktop/h1218.html', new=0) 39#--------------------------------------------------------------------------------- 40 41rungps() 42

試したこと

driver.refresh(), driver.close()を文中に入れ動作の確認もしたが、前者は組み込む前と動作は同様になり、後者は上記プログラム動作中に生成される"data:,"というウィンドウが閉じられてしまいプログラムが実行されなくなってしまう。

どうか御助言お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

動作未検証ですが、webbrowserだと再読込ができないようなので、以下のようにwebdriverを使ってはいかがでしょうか?

Python

1# 略 2#--------------------------------------------------------------------------------- 3browser = None 4def plot_to_map(): 5 # 略 6 map.save("h1218.html") 7 8 global browser 9 if browser is None: # 初回は開く 10 browser = webdriver.Chrome(r'~') 11 browser.get('file:///home/pi/Desktop/h1218.html') 12 else: # 2回目以降は再読込 13 browser.refresh() 14#--------------------------------------------------------------------------------- 15 16rungps() 17if browser is not None: 18 browser.quit()

投稿2018/12/18 07:24

can110

総合スコア38234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/18 08:48

ありがとうございます。 1回目2回目のmap表示、htmlの再読込は出来ましたが3回目からはエラーが出てしまいます。 何が原因でしょうか・・? 以下エラー文です。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー pi@raspberrypi:~/Desktop $ python3 last_test.py 35.---, 139.--- 35.---, 139.---             ←ここまで出来ている Traceback (most recent call last):    ←ここからエラー文 File "last_test.py", line 47, in <module> rungps() File "last_test.py", line 28, in rungps driver.close() File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 505, in close self.execute(Command.CLOSE) File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute self.error_handler.check_response(response) File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.35 (0),platform=Linux 4.14.70-v7+ armv7l)
can110

2018/12/18 08:53

エラーメッセージの中の以下のコード部分 File "last_test.py", line 28, in rungps driver.close() が、提示コードには見当たらないのですが?
退会済みユーザー

退会済みユーザー

2018/12/18 09:08

ありがとうございました! rungps()内を以下のように変えてしまっていたせいでdriver.closeが邪魔しエラーしていたみたいです。 本当助かりました、ご迷惑でなければふぉろーさせていただいても良いでしょうか? ---------------------------------------------------------------- if gps.clean_sentences > 20: print('%2.8f, %2.8f' % (gps.latitude[0], gps.longitude[0])) df = pd.DataFrame([[gps.latitude[0], gps.longitude[0]]]) df.to_csv('tlatlon01.csv', mode='a', header=False, index=False) plot_to_map() time.sleep(1.0) driver.close()
can110

2018/12/18 09:16

解決してよかったです。 フォローについてはご自由にどうぞ~
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問