Schrift
[thread]7828[/thread]

Verwendung von Text::CSV_XS etwas unintuitiv?

Leser: 1


<< >> 10 Einträge, 1 Seite
Ronnie
 2006-03-25 12:27
#64071 #64071
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Nachdem ja immer mal wieder auf die Verwendung von CPAN:Text::CSV oder CPAN:Text::CSV_XS hingewiesen wird, habe ich überlegt mal meine übliche Vorgehensweise zu ändern und eines der Module zu probieren (XS). So richtig intuitiv finde ich es aber auch nicht, oder nutze ich es irgendwie falsch?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl

use strict;
use warnings;

use Text::CSV_XS;
use Data::Dumper;

my $csv = new Text::CSV_XS({sep_char => ';'});
open (FILE, '<', 'dummy_adressbook.txt') or die "Couldn't open file: $_\n";
my $rows;
@$rows = map { [$csv->parse($_) and $csv->fields()] } (<FILE>);
close(FILE);

die Dumper $rows;
renee
 2006-03-25 13:00
#64072 #64072
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie hättest Du es denn lieber??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ronnie
 2006-03-25 13:06
#64073 #64073
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=renee,25.03.2006, 12:00]Wie hättest Du es denn lieber??[/quote]
Na ja, mich hat nur gewundert das der Tippaufwand auch nicht geringer ist, als wenn ich es klassisch erledige. Dachte irgendwie an sowas:
Code: (dl )
1
2
my $csv = slurp Text::CSV({separator => ';', file => $filename});
# $csv ist ein AoA und alles ist gut;)
\n\n

<!--EDIT|Ronnie|1143284823-->
ptk
 2006-03-25 13:28
#64074 #64074
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du kriegst das richtige Quoting von CSV-Daten mit weniger Tippaufwand hin? Das glaube ich nicht.
Ronnie
 2006-03-25 13:50
#64075 #64075
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,25.03.2006, 12:28]Du kriegst das richtige Quoting von CSV-Daten mit weniger Tippaufwand hin? Das glaube ich nicht.[/quote]
Ja, da hast du auf jeden Fall Recht - nur bei einfachen CSV-Datein, deren Struktur ich genau kenne, ist es leicht. Mich hat nur gewundert das es kein direktes einlesen in eine entsprechende Datenstruktur gibt.\n\n

<!--EDIT|Ronnie|1143287439-->
ptk
 2006-03-25 14:52
#64076 #64076
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Welches ist die *richtige* Datenstruktur? AoA? Oder AoH? Und dabei die erste Zeile als Hashkeys verwenden oder nicht? Und was ist, wenn die CSV-Datei richtig groß ist und man sie gar nicht in einem Stück in eine Datenstruktur parsen will?
Ronnie
 2006-03-25 15:07
#64077 #64077
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,25.03.2006, 13:52]Welches ist die *richtige* Datenstruktur? AoA? Oder AoH? Und dabei die erste Zeile als Hashkeys verwenden oder nicht? Und was ist, wenn die CSV-Datei richtig groß ist und man sie gar nicht in einem Stück in eine Datenstruktur parsen will?[/quote]
Das sind alles berechtigte Fragen. Bei DBI hat man ja auch gleich ein ganzes Bundle an Methoden, je nachdem welche Datenstruktur man bevorzugt. Ich sehe es auch nicht als zwingend, das man ein slurp_to_AoA(), oder slurp_to_AoH() verwenden muss, nur bei kleineren und mittleren Files als praktisch.
ptk
 2006-03-25 15:29
#64078 #64078
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du könntest ja auch DBD::CSV verwenden, dann hast du die ganzen DBI-Methoden zur Verfügung und kannst obendrein sogar SQL-Abfragen machen.
jan
 2006-03-25 16:40
#64079 #64079
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
ja, das wäre doch mal wieder was zum selbstbauen und hochladen ;)
renee
 2006-03-25 17:27
#64080 #64080
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein Beispiel für CPAN:DBD::CSV findet sich auch im Wiki...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 10 Einträge, 1 Seite



View all threads created 2006-03-25 12:27.