Benutzer:Jan Bartels/csv2wiki.pl: Unterschied zwischen den Versionen

aus DerMoba, der Wissensdatenbank für Modellbahner
Wechseln zu: Navigation, Suche
(CSV-Tabellen ins wiki-Format konvertieren)
 
K (  berichtigt)
 
Zeile 25: Zeile 25:
 
       print "|-\n";
 
       print "|-\n";
 
       for my $column (@field) {
 
       for my $column (@field) {
         print "| ", $column ne '' ? $column : ' ', "\n";
+
         print "| ", $column ne '' ? $column : ' ', "\n";
 
       }
 
       }
 
     }  
 
     }  

Aktuelle Version vom 4. Februar 2006, 14:51 Uhr

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 );