Benutzer:Jan Bartels/csv2wiki.pl

aus DerMoba, der Wissensdatenbank für Modellbahner
Wechseln zu: Navigation, Suche

Zur Konvertierung von Tabellen (Excel, OpenOffice) habe ich ein kleines perl-Script gebastelt. Es sollte unter allen Betriebssystemen laufen. Voraussetzung ist ein installiertes Perl-Modul Text::CSV_XS, das man ggf. vorher über CPAN installieren muß.

Im Quelltext vom Script muß der Dateiname angepaßt werden. Es können auch weitere Features ergänzt werden. Das ganze ist eher als ein Beispiel anzusehen.

use strict;
use Text::CSV_XS;

open( FILE, "<tabelle.csv" );

my $csv = Text::CSV_XS->new({
     'quote_char'  => '"',
     'escape_char' => '"',
     'sep_char'    => ',',
     'binary'      => 1
 });
 
print "{|\n";
while ( my $line = <FILE> )
{
   chomp( $line);
   if ($csv->parse($line)) 
   {
      my @field = $csv->fields;
      print "|-\n";
      for my $column (@field) {
        print "| ", $column ne '' ? $column : '&nbsp;', "\n";
      }
    } 
    else 
    {
      my $err = $csv->error_input;
      die "parse() failed on argument: $err\n";
    }
}
print "|}\n";

close( FILE );