Thread Zeichenlimit einrichten (40 answers)
Opened by andy at 2013-05-03 14:53

pq
 2013-05-03 15:37
#167412 #167412
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
z.b. so:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use Text::xSV;
use file::Copy qw/ move /;

# open original
my $csv = new Text::xSV( sep => ';' );
$csv->open_file("foo.csv");
my $header = $csv->read_header();

# open new
my $csv2 = Text::xSV->new(
    sep      => ';',
    filename => "foo2.csv",
    # muss noch geändert werden, hab auf die schnelle keine methode
    # gefunden, einfach ein array auszulesen
    header   => [keys %$header],
);
$csv2->print_header();

while (my $row = $csv->get_row()) {
    for my $field (@$row) {
        if (length $field > 30) {
            substr($field, 29, -1, "");
        }
    }
    # print to new file
    $csv2->print_row(@$row);
}
# move new file to original
move "foo2.csv", "foo.csv";


Editiert von pq: kommentar wegen header
Last edited: 2013-05-03 15:44:39 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Zeichenlimit einrichten