Von einer Hash-Perl in eine CSV-Datei schreiben

9

Ich habe ein Programm, das im Moment von FILE 1 wie folgt aussieht und mit bestimmten Zeichen übereinstimmt. z. B.

%Vor%

Zunächst wollte ich für jeden 'Typ', 'Frucht', 'Beschreibung', 'Menge' einen Hash der Hashes erstellen und die verschiedenen Werte in den Referenz-Hashes speichern. Das funktioniert gut mit dem Code unten.

%Vor%

Also meine Frage ist Wie kann ich diese Daten (Daten sind nicht festgelegt) in eine CSV-Datei oder etwas ähnliches (vielleicht xls), das wäre eine Tabelle mit Spalten für jeden Hash von Hashes ('Typ') , 'Frucht', 'Beschreibung', 'Menge').

    
El_Commandantee 27.11.2012, 16:01
quelle

2 Antworten

3

Ich stimme zu, dass Hash-Hashes eine gute Sache sind, aber ich denke, Sie speichern es nicht so, dass Sie es leicht abrufen können.

Ein Weg, wie Sie es tun könnten, ist so.

%Vor%

Zunächst müssen Sie auswählen, welche Spalte die "ID" ist. Dies würde die Eindeutigkeit jeder ZEILE bestimmen. Lassen Sie uns für Ihr Beispiel sagen, wählen wir die Frucht aus, da wir annehmen, dass es keine zwei Früchte geben würde, die in derselben Datei erscheinen würden. Wir hätten also so etwas:

%Vor%

Um dies wieder in CSV zu ändern, durchlaufen wir die Hashes.

%Vor%     
the_qbf 28.11.2012, 14:40
quelle
2

Zum Schreiben von Excel-Dateien können Sie Spreadsheet :: WriteExcel verwenden.

Über CSV-Dateien - ursprünglich haben Sie die CSV-Datei mit Trennzeichen "," und "\ n" Trennzeichen. Wenn Sie ein Array von HashRefs in CSV schreiben möchten - besser, um einfache Subs selbst aufzuschreiben, so wie dieses:

%Vor%     
moonsly 27.11.2012 17:00
quelle

Tags und Links