Thread CSV umwandeln (38 answers)
Opened by lukastonner at 2010-06-18 16:31

lukastonner
 2010-06-21 11:19
#138557 #138557
User since
2010-02-07
47 Artikel
BenutzerIn
[default_avatar]
Hallo,
habe es nach eurem Vorschlag versucht aber irgendwie funktioniert das nicht. zum einen hat das programm ein problem mit $ofh ("could not open....).Wenn ich "open my $ofh" auskommentiere und es nur über $fh versuche, (der $filename soll ja gleich bleiben, nur nicht *.csv, sonder *.txt heissen) gibt er mir "Cant call method "parse" without a package or object reference"....
Code: (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
30
31
32
33
34
35
$ftp = Net::FTP->new($host, Debug => 0)
or die "Es konnte keine Verbindung zu $host: $@ aufgebaut werden", $ftp->message;
$ftp->login($user, $pass);
$ftp->cwd("/daten/outgoing/")
or die "Ziel-Verzeichnis nicht gefunden", $ftp->message;
@dir = $ftp->ls('*.*');

foreach(@dir){

$filename=$_;

$ftp->get($filename, "@dest_dir$filename");

#ab hier soll umgewandelt werden

open my $fh, '<', "@dest_dir$filename" or die "Could not open $filename: $!";
open my $ofh, ">", "@dest_dir$filename_converted" or die "Could not open $filename_converted: $!";

while (my $line = <$fh>) {

my $status = $csv->parse($line); # ggfs. fehler abfangen
my @columns = $csv->fields();

$status = $ocsv->combine(@columns); # ggfs. fehler abfangen
$line = $ocsv->string();

$line =~ tr/,/;/;

print $ofh $line;
close $fh;

}
}
print "\n Download beendet \n";
$ftp->quit();

hat jemand ne Idee was ich hier falsch gemacht habe?

View full thread CSV umwandeln