Attualmente si interfaccia a un server che fornisce buffer di protocollo. Posso potenzialmente ricevere un numero molto elevato di messaggi. Attualmente il mio processo per leggere i buffer di protocollo e convertirli in un Pandas dataframe (non un passo necessario in generale, ma Panda offre piacevoli strumenti per l'analisi di insiemi di dati) è:creazione di un dizionario python come oggetto da buffer di protocollo da utilizzare nei panda
- Leggi buffer di protocollo, sarà un protobuf google oggetto
- buffer di protocollo Converti al dizionario utilizzando protobuf_to_dict
- uso
pandas.DataFrame.from_records
per ottenere un dataframe
Questa grande opera, ma, dato il gran numero di messaggi che ho letto dal protobuf, è abbastanza inefficiente per c passa al dizionario e poi ai panda. La mia domanda è: è possibile creare una classe che possa far sembrare un oggetto protobuf python come un dizionario? Cioè, rimuovere il passaggio 2. Qualsiasi riferimento o pseudocodice sarebbe utile.
Ma 'Convertire buffer di protocollo per dictionary' rende un oggetto protobuf pitone sembrare un dizionario;) È piuttosto bisogno di un po' pandas.DataFrame.from_protbuf' ma non si conosce la risposta a questo problema. – furas
Ho guardato il codice, sicuramente * non * sembra che stia avvolgendo l'oggetto protobuf, ma piuttosto crea un vero nuovo dizionario. Credo che @Justin stia cercando qualcosa che avvolge solo, senza copiare i dati. – user3820547
Sì, vorrei fare in modo che l'oggetto protobuf di google assomigli ad un dizionario piuttosto che copiare i dati su python prima. – Justin