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

lukastonner
 2010-06-21 11:49
#138564 #138564
User since
2010-02-07
47 Artikel
BenutzerIn
[default_avatar]
Hallo Murphy....
Danke für die Antwort.hier der vollständige code:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/perl


use strict;
use warnings;
use Net::FTP;
#use Text::CSV;

#######ftp Zugangsdaten und Zielverzeichnis festlegen########

my $host = "ftp.1234.de";
my $user = "ich";
my $pass = "1234";
my @dest_dir = "/home/data/incoming/";
my $ftp = "";
my @dir = "";
my $filename = "";
my $filename_converted = "";
my $csv = "";
my $ocsv = "";
my $line = "";
$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();


sobald ich Text::CSV initialisiere gibt er mir ne wilde fehlermeldung "Can't locate Text/CSV.pm in @INC (@INC contains: /usr/per......"und das CPAN paket installieren geht glaub ich nicht (Adminrechte)

View full thread CSV umwandeln