Extrahierung erforderlich Variablen aus Ereignisprotokolldatei mit Python
Probe erste Reihe von Ereignisprotokolldatei, hier habe ich erfolgreich extrahiert evrything abgesehen von den letzten Paar Schlüsselwert, das ist Attribut-
{"event_type":"ActionClicked","event_timestamp":1451583172592,"arrival_timestamp":1451608731845,"event_version":"3.0",
"application":{"app_id":"7ffa58dab3c646cea642e961ff8a8070","cognito_identity_pool_id":"us-east-1:
4d9cf803-0487-44ec-be27-1e160d15df74","package_name":"com.think.vito","sdk":{"name":"aws-sdk-android","version":"2.2.2"}
,"title":"Vito","version_name":"1.0.2.1","version_code":"3"},"client":{"client_id":"438b152e-5b7c-4e99-9216-831fc15b0c07",
"cognito_id":"us-east-1:448efb89-f382-4975-a1a1-dd8a79e1dd0c"},"device":{"locale":{"code":"en_GB","country":"GB",
"language":"en"},"make":"samsung","model":"GT-S5312","platform":{"name":"ANDROID","version":"4.1.2"}},
"session":{"session_id":"c15b0c07-20151231-173052586","start_timestamp":1451583052586},"attributes":{"OfferID":"20186",
"Category":"40000","CustomerID":"304"},"metrics":{}}
Hallo Jeder Eins, ich versuche, den Inhalt aus der Ereignisprotokolldatei zu extrahieren, wie in angehängtem Bild gezeigt. Als Voraussetzung muss ich customer ID
, offer id
, category
holen diese sind wichtige Variable, die ich aus dieser Ereignisprotokolldatei extrahieren muss .this ist csv formatiert Datei. Ich habe versucht mit regulären Ausdruck, aber es funktioniert nicht, weil Sie beobachten können, dass das Format jeder Spalte anders ist. Wie Sie sehen, erste Reihe hat category
customer id
offer id
und die zweite Zeile ist völlig leer in diesem Fall regulären Ausdruck wird nicht arbeiten abgesehen von diesem müssen wir berücksichtigen, dass wir alle möglichen Bedingungen betrachten müssen, haben wir 14000 sample.in Ereignisprotokolldatei ... # Jason # Parsing #Python #Pandas
Ist dies eine einfache Textdatei? Beginnt und endet jede Zeile mit '{}'?Wenn dem so ist, scheint es, als ob Sie die Datei zeilenweise lesen können und 'literal_eval' verwenden, um jede Zeile in ein Python-Objekt zu verwandeln. – DeepSpace
Können Sie das tatsächliche Stück Ihres Datenprotokolls anstelle des Bildformats angeben? Sie erwarten nicht, dass wir Ihre Daten eins nach dem anderen eingeben, oder? – MaThMaX
ja, es war im txt-Format earlier.it war riesig Datei i unter Variable aus event_type Ereignisprotokolldatei extrahiert event_timestamp arrival_timestamp event_version Anwendung { app_id cognito_identity_pool_id } Client {} {} Gerät Sitzung {} Attribute {} –