読者です 読者をやめる 読者になる 読者になる

pythonを使ったシステム(?)開発

”教員が困っていることをヒアリングし、解消できるシステムを開発する”

というある講義のグループ課題…

とりあえず、配属を希望している研究室の教員にヒアリングを行った結果、

”センサーから送られてくるデータを整列、CSV形式で出力するシステム”をご所望。

今までは教員が手動で頑張っていたが、もう限界とのこと。

なんだ、簡単じゃん。ラッキー!!

勉強してたし、ちょうどいいってことでpython3系を使って実装。

①.ファイルを読み込んでデータを抽出、下処理を行う

data_origin = open('data/data_origin.txt') # data_originをオープン
lines1 = (data_origin.read()).split('},{') #データを読み込み,区切る
data_origin.close() # data_originをクローズ

datalist = []
for n in lines1:
    datalist.append(n.strip("{}[]")) #先頭末尾の”{}「」”を削除し datalistに挿入

②.データ群からセンサ値をとりだす関数を定義

def sensorGet(sensorData):#センサ値取得
    if n.find(sensorData)!=-1:
        length = len(sensorData)
        index = n.find(sensorData)
        sensor = n[index+length+2:index+length+7]
        if sensor.isdigit()==False:
                sensor = sensor.strip(',"{}ti')
    else:   sensor = ""
    return sensor

③.CSV出力するリストにidと日時,②で取得したセンサ値を追加していく

csvlist = [] # データをリストに保持

for n in datalist:
    idGet = (n[9:n.find("nodeID")+10]).replace("\"","")
    timeGet = n[(n.find("time"))+7:n.find("time")+26]
    csvlist.append([
        idGet,timeGet,
        sensorGet("気温"),
        sensorGet("湿度"),
        sensorGet("電池電圧"),

    ])

④.③で作ったリストをCSV形式で出力

output = open('output.csv', 'w')
writer = csv.writer(output, lineterminator='\n')
writer.writerow(["nodeID","time","温度","湿度","電池電圧"])
writer.writerows(csvlist)
output.close()

一通り出来上がったが、作業時間で言えば6時間ほど。

次はAPI化…

ちょこっと触るだけのつもりだったが、定義書よりも先にモノが出来上がってしまった…

グループ課題なのにほとんど一人でやっちゃってるし…

授業的にどうなのだろうか…

はじめてのPython

機械学習の勉強会とか色々控えてるのでpythonについてお勉強しました。環境は前から導入していたけど、まともに触ったのは今日が初めてです。環境はanaconda2。今回はhelloworld、if、while、for、入出力、fizzbuzzについてお勉強。やってて楽しいですね、とっても。3系の方やってみようかな。

はじめまして

高校課程を修了して、やっと研究!!ということでこれから2年間、情報系の記事と高専生活について書いていこうと思います。このブログから得られることはあまりないと思いますが...。何はともあれ、よろしくお願いします。