2017-07-26 4 views
1

Ich habe eine CSV-Spalte mit Inhalt wie folgt aus (nur ein Beispiel):Parsing mutiple Werte mit Google verfeinern

[{"qual"=>"05-Admmin "name"=>"CLARK C COHO"}, {"qual"=>"20-Soc Con", "name"=>"ALPHA S A"}, {"qual"=>"20-Soc Con", "name"=>"JACK SA"} 

ich von „name“ Feld die Werte automatisch extrahieren möchten und es durch Komma getrennt etwa CLARCK COHO, ALPHA SA, JACK SA und so weiter.

Ich weiß, dass ich einen bestimmten Wert mit diesem Code erhalten kann:

value.parseJson()[0].name 

Ich habe die Dokumentation gelesen, aber ich bin nicht herauszufinden, wie eine Schleife dieses zwischen allen Bereichen.

Irgendwelche Tipps?

EDIT: Hier ist ein weiteres Beispiel für die Spalte. Der Inhalt sieht wirklich so aus:

[{"qual"=>"49-SocAdm", "name"=>"ALVARO R L"}, {"qual"=>"49-SocAdm", "name"=>"GABRIEL G L"}] 
+1

Sie müssen einen 'foreach()' Schleife verwenden die Json, dann eine Verknüpfung eine durch Komma getrennte Zeichenfolge zu erhalten: 'forEach (value.parseJson(), e, e.name) .join (',') 'Ich kann dein Beispiel nicht versuchen, ist kein gültiger Json. –

+0

@EttoreRizza Ich denke, es lohnt sich, dies als Antwort, anstatt Kommentar zu posten, so dass es akzeptiert werden kann –

+0

@Owen: Ich bin mir nicht absolut sicher, dass das die richtige Antwort ist. Der JSON, der als Beispiel veröffentlicht wurde, ist seltsam. Ich bin mir nicht einmal sicher, dass es ein Json ist. –

Antwort

0

Die Daten in Ihrer CSV-Datei sind nicht im JSON-Format. Ich weiß nicht was das ist. Eine Art Schlüsselwertformat, aber ich weiß nicht welches. Außerdem fehlt manchmal ein Komma oder eine Klammer. Wir könnten versuchen, es in ein gültiges JSOn umzuwandeln, aber es wird einfacher sein, Informationen mit regulären Ausdrücken zu extrahieren. Hier ist ein Beispiel mit Python/Jython.

import re 

pattern = re.compile(r'"name"=>"(.+?)"', re.M) 

return ", ".join(pattern.findall(value)) 

screenshot

+1

Perfekt! Vielen Dank, Ettore! – abaporu