User since
2006-07-18
43
Artikel
BenutzerIn
Hallo,
ich habe folgendes Problem. Ich möchte aus einer csv mit mehreren spalten eine neue csv erstellen. diese neue csv soll aus der alten csv minimum,maximum und mittelwert berechen. darin liegt aber nicht das problem.
ich weiß nicht wie ich mit perl in die einzelnen spalten zugreifen kann .....
beispiel: ich möchte jetzt in spalte 3 auf das z zugreifen wie mache ich das?
----------------------------
1|2|3|4|5|6|7|8|9|10|
x|y|z|u |v|b|n|g|h|d|
-------------------------
ich hoffe es kann mir jemand helfen bin nämclih am verzweifeln...
User since
2003-08-14
2022
Artikel
BenutzerIn
Ich empfehle auf jeden Fall ein cpan-Modul wie
Text::CSV_XS zu verwenden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
use strict;
use warnings;
use List::Util qw/max min sum/;
use Perl6::Junction qw /all/;
while (<DATA>) {
chomp;
my @row = split /\|/, $_;
print $row[2], "\n"; # Ausgabe der dritten Spalte
if (all(@row) == qr/^\d+$/) { # Ausgabe von max, min, avg
print join '|', max(@row), min(@row), sum(@row)/@row . "\n";
}
}
__DATA__
1|2|3|4|5|6|7|8|9|10|
x|y|z|u|v|b|n|g|h|d|
\n\n
<!--EDIT|Ronnie|1153216026-->
User since
2003-08-04
14371
Artikel
ModeratorIn
Ich empfehle da
DBI im Zusammenspiel mit
DBD::CSV. Damit kann man ganz normale SQL-Abfragen auf die CSV-Datei machen.
User since
2005-01-17
14749
Artikel
Admin1
Nur die DBD-CSV kann nicht mit dem Wert NULL umgehen. Das läßt sich bei CSV nicht so richtig darstellen.
http://cpan.uwinnipeg.ca/htdocs....ictions\n\n
<!--EDIT|GwenDragon|1153234080-->
User since
2003-08-04
14371
Artikel
ModeratorIn
Macht nix, In CSV-Dateien kann ja auch kein NULL-Wert stehen!