[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] RegEx



Amir Tabatabaei:
> 
> ---------- Datei A ----------
> 110703, a, b, c 
> 110703, a, b, c 
> 110703, a, b, c 
> 110704, a, b, c 
> 110705, a, b, c 
> 110705, a, b, c 
> 110706, a, b, c 
> 110707, a, b, c
> 
> ---------- Datei B ----------
> 110701, d, e, f, g, h 
> 110704, d, e, f, g, h 
> 110705, d, e, f, g, h 
> 110708, d, e, f, g, h 

Dein Problem sind nicht reguläre Ausdrücke.

#!/usr/bin/python

fileA = (line.split(';') for line in open("a"))
fileB = (line.split(';') for line in open("b"))

records = {}
for record in fileA:
    timestamp = record[0]
    records[timestamp] = record[1:]

for record in fileB:
    timestamp = record[0]
    if timestamp in records:
        records[timestamp].extend(record[1:])
    else:
        new_record = [0, 0, 0, 0].extend(record[1:])
        records[timestamp] = new_record

for key, value in records:
    print key, "; ".join(value)

Ich bin allerdings nicht sicher, ob ich Dein Problem wirklich verstanden
habe. Und testen mußt Du natürlich selbst. :)

> Die erste Spalte entspricht der Uhrzeit. Ich möchte die Uhrzeiten der
> beiden Dateien miteinander vergleichen und sie zusammenfassen. Dabei
> soll eine Zeile aus Datei B, die nicht in A erhalten ist mit Nullen
> vorweg gefüllt werden und andersrum.

Das sollte da oben passieren.

> Sollten mehrere selbe Uhrzeiten in den Dateien vorhanden sein, sollen
> nur soviele ergänzt werden, wie vorhanden.

Dafür bitte ein Beispiel und ein Gegenbeispiel (falls es so nicht paßt).

J.
-- 
In an ideal world I would cure poverty and go to the gym at least three
days a week.
[Agree]   [Disagree]
                 <http://www.slowlydownward.com/NODATA/data_enter2.html>

Attachment: signature.asc
Description: Digital signature


Reply to: