Design / Konzept oder Anfängerfrage
Verfasst: Mittwoch 24. November 2010, 16:07
Ich bin wirklich am verzweifeln langsam:
Ich möchte CSV-ähnliche Dateien bearbeiten.
Diese sollten Funktionen haben wie
select_columns, welche eine neue CSV-ähnliche Datei erschafft, in der nur die angegebenen Spalten sind.
Es sollen Hintereinanderausführungen von Befehlen möglich sein wie
Zwischenergebnisse wollte ich in tempfile.TemporaryFile() speichern.
Bisher hab ich gedacht ich mache das so (Pseudocode):
Das Problem, das ich hierbei sehe, ist dass ich unterscheiden muss ob file nun eine temporäre datei war oder nicht, da ein open() Aufruf sonst Unsinn wäre.
Um das ganze nur im Speicher zu bearbeiten und am Ende wieder in eine Datei zu schreiben, sind die Datenmengen eigentlich zu groß.
Was wäre ein geeigneter Ansatz das ganze zu lösen?
(Im Moment fallen mir Typüberprüfungen ein)
Ich möchte CSV-ähnliche Dateien bearbeiten.
Diese sollten Funktionen haben wie
select_columns, welche eine neue CSV-ähnliche Datei erschafft, in der nur die angegebenen Spalten sind.
Es sollen Hintereinanderausführungen von Befehlen möglich sein wie
Code: Alles auswählen
datei.select_columns("bla").select_rows(bedingung),
Bisher hab ich gedacht ich mache das so (Pseudocode):
Code: Alles auswählen
class handler:
file # an einen handler wird eine datei gebunden, die dieser dann bearbeiten kann
select_columns(spaltennamen)
neuer_handler = handler()
file = open(file)
for line in file:
mach was hübsches und schreibe in temporäre datei
neuer_handler.file = file
write(pfad)
file = open(pfad)
kopiere den Inhalt self.file in file und erzeuge damit wieder ein nicht-temporäres Objekt
Um das ganze nur im Speicher zu bearbeiten und am Ende wieder in eine Datei zu schreiben, sind die Datenmengen eigentlich zu groß.
Was wäre ein geeigneter Ansatz das ganze zu lösen?
(Im Moment fallen mir Typüberprüfungen ein)