0
protobufファイルからメッセージを読みました。私はGoogleのprotobufファイルへのアクセス(簡単)
print(mySerializedData.processed_row[0].timestamp)
>> 0.0
print(mySerializedData.processed_row[1].timestamp)
>> 0.0049
しかし、何のような個別のデータにアクセスすることができます[NDATA、NVAR]
print(mySerializedData.processed_row)
>> [timestamp: 0.0
linear_acc_x: 0.288501300049
linear_acc_y: 0.573411297607
linear_acc_z: 0.161608612061
, timestamp: 0.0049
linear_acc_x: 0.428562097168
linear_acc_y: 0.685938775635
linear_acc_z: 0.221463653564
, timestamp: 0.01
linear_acc_x: 0.45968671875
linear_acc_y: 0.738611212158
linear_acc_z: 0.185550628662]
メッセージは、時系列データが含まれているので、私は、マトリックス状の構造を予想、例えば、processed_row私が取得したい
print(mySerializedData.processed_row[:].timestamp)
のようなものです。しかし、それは誤りAttributeError: 'list' object has no attribute 'timestamp'
print(type(mySerializedData.processed_row[0].timestamp))
>> <type 'float'>
print(type(mySerializedData.processed_row[0]))
>> <class 'PushCore_pb2.ProcessedDataRow'>
[:]のようにtimestamp
倍配列を取得する方法はありますか?
はあなたがlist comprehensionを使用して、タイムスタンプ値のリストを作成することができ、あなたに
しかし、あなたは二重の配列を持っていません。 'mySerializedData.processed_row [:]'はその行/リストのコピーを返します。 –