2016-05-03 1 views
0

Vielen Dank für Ihre Antworten. Nein, das ist keine Hausaufgabe. Es war ein wirkliches Problem, das ich für die Arbeit lösen musste. Ich wollte es als Sprungbrett zum Lernen von Python verwenden, anstatt es auf Perl zu lösen. Ich werde in Zukunft mit den Einreichungen vorsichtiger sein. Ich habe dieses Problem mit viel Googeln gelöst. Erstes Skript Danke noch einmal.Wie in der Datei von Schlüsselwörtern und Hash in der Datei der Einträge einzulesen

Datei A hat eine Liste von Schlüsselwörtern (einige Zeilen in der Datei können zwei Schlüsselwörter haben, die durch ein Komma getrennt sind). Ich muss diese Schlüsselwörter verwenden, um eine andere Datei (Datei B) zu suchen und die übereinstimmenden Zeilen zu extrahieren, nach denen ich einen bestimmten Eintrag in dieser durch Komma getrennten Zeile lesen muss.

Der Algorithmus ist einfach genug, aber da ich versuche, Python zur gleichen Zeit zu lernen, bin ich nicht sicher, wie es weitergehen soll. Mein erster Start war, Datei B in eine Liste zu lesen, aber ich frage mich, ob ein Wörterbuch besser ist.

FILE A-Format:

STRING, NUM 1, NUM 2, NUM 3 

FILE B Format:

STRING A, STRING B 

I für STRING A in FILE A von jedem, der STRING B in FILE A, und extrahieren NUM 1 suchen möchten und füge sie zusammen.

+0

In dem Beispiel habe ich Datei A und Datei B getauscht –

+2

Ich kann sagen, diese Frage wurde eilig, könnten Sie bitte (http://stackoverflow.com/posts/37008903/edit) Ihre Frage mit einem mehr kohärentes Beispiel, ich verstehe nicht, wie Ihre Dateien tatsächlich aussehen oder was Sie als Endergebnis wollen. –

+0

@ TadhgMcDonald-Jensen: Gedanken zur Bearbeitung jetzt? Ich habe getan was ich konnte. – Makoto

Antwort

0

Sie A, um alle Inhalte von Datei speichern in einem Wörterbuch mit String als Schlüssel und Zahlen als Werte. Dann iteriere über (Zeichenkette A, Zeichenkette B) in Datei B und suche nach den Zeichenketten im Wörterbuch. Sie können Pandas alternativ verwenden.

0

Das hört sich nach einer Hausaufgabenfrage an, aber ich werde Sie wenigstens in die richtige Richtung weisen.

Für Datei A werden Sie auf jeden Fall ein Wörterbuch benötigen. Der erste Schritt besteht also darin, über die Zeilen der Datei A zu iterieren und dabei Elemente zu einem Wörterbuch hinzuzufügen, in dem der Schlüssel STRING ist. Der Wert ist vielleicht ein Tupel von NUM1, NUM2, NUM3. Sie können die Funktion split() verwenden, um die Zeile von einer Zeichenfolge in eine Liste der 4 Elemente zu konvertieren. Sie müssen wahrscheinlich auch int() verwenden, um die Zahlen tatsächlich in einen Integer-Typ umzuwandeln. Jetzt, da Sie dieses Wörterbuch haben, durchlaufen Sie die Zeilen der Datei B und suchen Sie STRING A und STRING B (verwenden Sie erneut split(), um die Werte zu trennen) und fügen Sie diese beiden NUM1 zusammen hinzu.

Verwandte Themen