シリアル通信にて得たデータ
1,2,3
1,2,3
1,2,3
を
1,1,1,2,2,2,3,3,3のような形でcsv形式で出力したいのですが
1
1
1
2
2
2
3
3
3
のようなかたちになってしまいます
また現在あるファイルに得たデータを追加で書き込みたいです
以下のコードを動かしましたがうまくいきませんでした
def get_EMG(port, pose, path): #要修正 d1, d2, d3 = [pose], [], [] try: ser = serial.Serial(port, 9600, timeout = 1) ser.setDTR(False) print("press Ctrl+C to stop") count = 0 d_max = 0 max_n = 0 while(1): data = ser.readline() a = data.decode("ascii").split(",") del(a[-1]) if(count > 100): print(a) data1, data2, data3 = [int(i) for i in a] if(data1+data2+data3 > d_max): d_max = data1+data2+data3 max_n = count-100 EMG1.append(data1) EMG2.append(data2) EMG3.append(data3) count += 1 except(KeyboardInterrupt): data = [] if(max_n > 100 and max_n < len(EMG1)-100): data.extend(EMG1[max_n-100:max_n+100]) data.extend(EMG2[max_n-100:max_n+100]) data.extend(EMG3[max_n-100:max_n+100]) elif(max_n < 100): data.extend(EMG1[0:200]) data.extend(EMG2[0:200]) data.extend(EMG3[0:200]) else: data.extend(EMG1[len(EMG1)-200:len(EMG1)]) data.extend(EMG2[len(EMG1)-200:len(EMG1)]) data.extend(EMG3[len(EMG1)-200:len(EMG1)]) if(os.path.exists(path)): df = pd.read_csv(path) df.append(data) df.to_csv(path, header=None, index=None) else: df = pd.DataFrame(data) df.to_csv(path, header=None, index=None)
どなたか教えていただけないでしょうか
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/26 10:47