マイコンからセンサーのデータを受け取ってそれをエクセルに出力しようとしています.
データをもらうところまではうまくいったのですが問題がもらったデータがうまく数値に変えられないのです.
送られてくるデータが変数dataに格納されていて,
python
1import serial 2import time 3import numpy as np 4import matplotlib.pyplot as plt 5 6ser=serial.Serial("COM5",115200) 7 8for i in range(50): 9 data=ser.readline().rstrip() 10 a=str(data, encoding='ascii') 11 time.sleep(1) 12 print(a) 13 14print(data)
とすると
出力が
b'\r-493\x00\x0054'
となるのでバイト型を変換すると,
python
1a=str(data, encoding='ascii') 2print(a)
とすることで出力としては
-49354
とでできてほしい数値として表示されるのですが
変数aの中身をデータとして取り出すと,
'\r-493\x00\x0054'
となっていて数値でない文字コードのようなものが入っていて,
データとして数値にしようとしても変換がうまくいかず困っています.
ここの変換はどのようにすれば数値として取り出せるのでしょうか.
環境はpython3.4です
回答1件
あなたの回答
tips
プレビュー