私はcsv/txtファイルに保存されているデータを持っています。このタイプのデータをCSV/txtフォーマットで解析する
フォーマットは私がこれまでに働いていなかったものなので、私はこれについてどうやって行くのかという方向性を探していました。
約70MBのcsvファイルがあるので、私は効率的なものを探しています。データが構成されているか、それは私を与えるあなたが最初に見ることができるように
FMT, 128, 89, FMT, BBnNZ, Type,Length,Name,Format,Columns
FMT, 130, 46, GPS, QBIHBcLLefffB, TimeUS,Status,GMS,GWk,NSats,HDop,Lat,Lng,Alt,Spd,GCrs,VZ,U
FMT, 131, 46, GPS2, QBIHBcLLefffB, TimeUS,Status,GMS,GWk,NSats,HDop,Lat,Lng,Alt,Spd,GCrs,VZ,U
FMT, 196, 24, GPA, QCCCCBI, TimeUS,VDop,HAcc,VAcc,SAcc,VV,SMS
FMT, 197, 24, GPA2, QCCCCBI, TimeUS,VDop,HAcc,VAcc,SAcc,VV,SMS
FMT, 132, 49, IMU, QffffffIIfBB, TimeUS,GyrX,GyrY,GyrZ,AccX,AccY,AccZ,ErrG,ErrA,Temp,GyHlt,AcHlt
GPS, 288111438, 4, 408321800, 1919, 12, 0.81, 34.6724954, -118.3331596, 851.46, 0.07211103, 213.6901, 0.09, 1
GPA, 288111438, 1.01, 0.86, 1.51, 0.28, 1, 288111
SONR, 288111891, 0, 0, 0, 0
RFND, 288111901, 0.00, 0.00
IMU, 288132434, 0.01139331, 0.01001555, 0.0738163, 0.3783027, -1.865716, -9.70467, 0, 0, 49.00554, 1, 1
IMU2, 288132434, 0.01213987, 0.01530177, 0.06975921, 0.3055397, -1.755074, -9.364305, 0, 0, 52, 1, 1
SONR, 288132959, 0, 0, 0, 0
RFND, 288132969, 0.00, 0.00
ATT, 288133031, 0.00, 9.62, 0.00, -0.53, 0.00, 30.64, 0.02, 0.01
:
データセットは次のようになります。 その後、キャプチャされるデータの頻度に応じて、そのパラメータがリストされ、対応する値になります。
キャプチャされる約800のパラメータがありますが、すべてを使用することはありません。私はちょうどそれらのいくつかを通常TimeUS
にプロットします。
私は使用する各変数のリストを作成する必要があるのだろうかと思います。たとえば、IMUの場合、TimeUS, Guyrx, GuyrY..etc
を運ぶ6つの列のリストがあります。
また、これで私を助けることができるpythonモジュールがある場合は、
編集:しかし、私はこのエラーを取得しています
import csv
import matplotlib.pyplot as plt
desiredData = 'IMU'
data = []
with open('data2.csv', 'r') as csvfile:
content = csv.reader(csvfile, delimiter=',')
for row in content:
if desiredData == row[0]:
data.append(row[1])
fig1 = plt.figure(figsize= (10,10))
ax = fig1.add_subplot(111)
mSec = data[:3]
Alt = data[:4]
ax.plot(mSec, Alt, label='Alt(m)', color = 'r')
plt.legend(loc='best',prop={'size':10})
plt.grid(True)
ax.set_xlabel('Time (s)')
ax.set_ylabel('Alt (m)')
:ここでは、私がこれまで持っているものさValueErrorをします。xとyは、同じ第1の次元を持っている必要があります。また、このコードを実行するのに少し時間がかかります。これは正常ですか?ここで
正規表現をご存知ですか? https://docs.python.org/3/library/re.html – kame
@kameこの方法では、手動で各ヘッダーを見つけてその行にあるデータをプルしますか?ヘッダーが行になく、列にある場合、実際にそれらのヘッダーを呼び出しますか? –