AW: [Python-de] 2 Dateien zusammenfuegen

Daniela Reimer eskaia at tiscali.de
Fre Dez 16 01:32:51 CET 2005


Ja, die Zeilen sollen nebeneinander geschrieben werden. Datei a besteht
aus einer Tabelle mit verschiedenen Werten. Und Datei b aus ganz vielen
Spalten mit jeweils einem Wert, die an die Tabelle in a als Spalte
angehängt werden sollen.

Probiere es gleich mal mit deiner Methode aus.
Vielen Dank.




Daniela Reimer schrieb:
> Ich bin absoluter Python-Beginner. Habe zwei verschiedene Ordner mit 
> Dateien (Ordner a mit Dateien a1, a2, a3... Und Ordner b mit Dateien 
> b1, b2, b3...). Nun muss ich Datei a1 einlesen und Datei b1 als Spalte

> an a1 anhängen und diese nun in eine neue Datei rausschreiben.
> Waere klasse, wenn mir da jmd weiterhelfen koennte.
> Einlesen und ausschreiben mit readlines und writelines etc ist kein
> Problem fuer mich. Ich braeuchte nur einen Tipp, wie ich die zweite
> Datei sinnvoll als Spalte anhaenge und wie ich beide Schleifen
sinnvoll
> ueber die beiden Ordner laufen lasse, damit auch wirklich a1 und b1
etc
> zusammenkommen.

Klingt nach einem Fall für sort(). Die Ordnerinhalte findest du als
Liste über das "os" Modul. Dann sortier die Namen, damit beide in die
gleiche Reihenfolge kommen.

Allerdings verstehe ich nicht ganz, das dabei eine "Spalte" ist.
Möchtest du die Zeilen nebeneinander schreiben? Sowas?

from itertools import izip
f1 = open(file1, 'r')
f2 = open(file2, 'r')
for line1, line2 in izip(f1, f2):
  print "%s,%s" % (line1[:-1],line2)

Gibt jeweils eine Zeile von Datei 1 und Datei2 nebeneinander aus, durch
Komma getrennt. Und das für alle Zeilen der Dateien - solange beide
Zeilen enthalten. Überzählige Zeilen einer einzelnen Datei werden
weggeworfen.

Stefan