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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

660閲覧

Python pandas データ追加タイミングでLED点灯

raspypy

総合スコア247

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2019/11/25 02:26

編集2019/11/25 02:28

##やろうとしていること

csvファイルにデータが追加されたタイミングでLEDを点灯させたい。

##今の状況
csvファイルは、100個のデータが保存されています。
①最初にcsvファイルを作成すると、最下行(100行目)にデータが記録されます。
※1~99行目までは、0が入力されるようにしています。
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
(省略)
2019, 11, 25, 11, 11, 26.5,

②データが0の個数を数えることで、データがどのくらい蓄積されたか判定するようにしました。
(年、月の列の0をカウントしています。)
↓のプログラムは、データが100個蓄積されたらLEDを点灯させるプログラムです。

ここまではできたのですが、
データが更新されるたびに、LEDを点灯させたいのですが、
更新されるたびに…というのが、どのように判定すれば良いのか分かりません。
教えていただけると助かります。

##プログラム

python

1def read_temp(): 2 global df 3 df = pd.read_csv('/home/pi/count.csv', names=['year', 'month', 'day', 'hour', 'minute', 'temperature']) 4 5 #年=0判定 (0:True, 1:False表示) 6 y_bool = df['year'] == 0 7 global y_sum 8 y_sum = y_bool.sum() 9 #月=0判定 (0:True, 1:False表示) 10 m_bool = df['month'] == 0 11 global m_sum 12 m_sum = m_bool.sum() 13 14if __name__ == '__main__': 15 try: 16 setup_led() 17 read_temp() 18 if(y_sum == 0 and m_sum == 0): 19 GPIO.output(19, GPIO.HIGH) 20 sleep(2.0) 21 GPIO.output(19, GPIO.LOW) 22 sleep(1.0) 23 csv_clear()#100個たまったらクリア 24 except KeyboardInterrupt: 25 pass 26 GPIO.cleanup()

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

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

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

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

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

y_waiwai

2019/11/25 02:43

どこで(だれが?)ファイルにデータを追加するんでしょうか
raspypy

2019/11/25 03:03

失礼しました。 次のようなスクリプトを作成しています。 これを1分おきに動作させるようにユニットファイルを作成しています。 ファイルにデータを追加(***.py)した後で、データ更新のチェックを行いたいと考えています。 #!/bin/sh #データ記録 /home/pi/dev/./***.py #データ更新判定 /home/pi/dev/./$$$.py
y_waiwai

2019/11/25 03:07

そのデータ記録のこーどでLEDつけるのではだめなんでしょうか? #質問を編集してそこら辺の事情を追記しましょう。状況がさっぱりわからないんで回答しようがないです
raspypy

2019/11/25 03:16

度々すみません。 事情説明が難しいのですが、 データ更新のたびに動作させたいプログラムを別プログラムで構成したいと考えております。 事情の説明になっておらず、すみません。
t_obara

2019/11/25 03:58

どのようなイベントを持ってデータが更新されると捉えるべきかをいただいた情報から的確に判断することが難しいかと思います。 「データ更新のたび=ファイルの更新日付の更新」と捉えられるのであれば、ファイルを監視すれば良いと思います。
guest

回答1

0

ベストアンサー

ちと要件が不明なところはありますが、

一定時間ごとに当該ファイルを参照して、ファイル更新日時か、ファイルサイズを読んで変化があれば処理を行う、ということぐらいでしょうね
その一定時間の実行をコードで行うのか、cronなどで定期実行させるか、になるとおもわれます

投稿2019/11/25 04:42

y_waiwai

総合スコア87774

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

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

raspypy

2019/11/25 04:49

回答ありがとうございます。 先ほど説明できなかった"事情"も踏まえて、別の質問をあげさせていただきます。 そちらも見ていただけると助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問