PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : perl problem



jorekpinorek
19-03-2002, 07:41
Hallo,
ich arbeite gerade a einer Lösung um Daten aus einer Datei die mit Tab getrennte Tabellen enthällt nach exel portiert. Jedoch möchte ich das ganze gern mit folgenden aufruf erreichen

perl excel.pl Eingabetei Ausgabedatei

ich hab leider nicht so die ahnung von perl, kann mir villeicht wer weiterhelfen?

danke
jorekpinorek

elrond
19-03-2002, 07:53
excel sollte tab-getrennte daten einfach so als datei lesen können. versuch doch mal das file in *.xls umzubenennen und mit excel zu öffnen :cool:

jorekpinorek
19-03-2002, 10:28
hmm ja schon, nur will mein arbeitgeber das nicht so, ich möchte die Leute nicht unbedingt als DAU's bezeichenen aber die kommen mit konvertieren und sowas nicht zurecht und wenn er das so haben will muß ich das halt so machen. das skript is ja eigentlich schon fertig nur halt das ich die parameter so übergeben kann.

elrond
19-03-2002, 12:13
wenn du dein script aufrufts:

script.pl datei.in datei.xls

dann steht in
$ARGV[0] -> datei.in
$ARGV[2] -> datei.xls

usw.


dennoch würde ich das umbenenn enfach mal ausprobieren, kann ja dein script machen ;)

das eingentliche problem wird aber sein, dass xls ein ms-sschweineformat ist, das sich mit jeder excel-version ändert und nirgens vernunftig dokumentiert ist. Selbst wenn du die tabs gegen semikola ersetzt wird das deine probleme wahrscheinlich nicht lösen...

wie dem auch sein, erzähl doch einfach wie's ausgegangen ist.

crackstorm
19-03-2002, 14:00
in was fuer ein format soll denn die datei nach der convertierung sein???
sollen nur die tabs zu einen anderen zeichen convertiert werden? oder soll da noch mehr passieren??
wenn das alles is kannst du das ganz einfach machen


#!/usr/bin/perl -w
use strict;
my $outfile = $ARGV[1];
my $infile = $ARGV[0];
open FHO, ">$outfile" or die "can't open input file: $infile $!";
open FHI, "<$infile" or die "can't open output file: $outfile $!";
while (<FHI>){
s/\t/was_auch_immer/g;
print FHO $_;
}
close FHO;
close FHI;

lolli
19-03-2002, 15:31
Versuche doch mal ein Zusatzmodul für Perl: Spreadsheet::WriteExcel
Eine kleine Doku findest du unter
http://search.cpan.org/doc/JMCNAMARA/Spreadsheet-WriteExcel-0.34/WriteExcel.pm

Installieren kannst du es als root) mit
#linux> perl -MCPAN -e "install Spreadsheet::WriteExcel"


oliver

jorekpinorek
20-03-2002, 07:54
die erweiterung für perl benutze ich ja das andere werde ich nachher mal ausprobieren