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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
#!/usr/bin/perl use strict; use warnings; use autodie; use List::Util 'any'; use Text::CSV; my $input_file = 'DATA.csv'; my (@headers, %docs); my $n = 0; my @docs; open my $fh, '>',"fh.html"; open(my $Fhresult, '<', $input_file); while (<$Fhresult> ) { last if (/^\d+\s+\d{2}:\d{2}:\d{2}\s*$/); } while (<$Fhresult> ) { if ($. == 2) { chomp; s/^default,\s*//; @headers = split ( /[ ,. ;:\(\)\/\*\"]+/ ); next; } next unless /\S/; chomp; my ($file, @fields) = split /\s*,\s*|\s+/; push @docs, {'file'=>$file, 'fields'=>\@fields} if any { $_ eq 'fault' } @fields; } close($Fhresult); foreach my $doc (@docs) { open($fh, '>', "$doc->{'file'}.html" ); print $fh "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"> <html> <head> <title>SYSTEM</title> <meta charset=\"UTF-8\"/> <link href=\"syst.css\" type=\"text/css\" rel=\"stylesheet\"/> </head> <body>\n<div id=\"c1\">\n<table>\n<tr>\n<th>"; print $fh $doc->{'file'} , ":</th>\n</tr>\n"; foreach (0..$#headers) { print $fh ("<tr><td>$headers[$_]</td>\n<td>$doc->{'fields'}[$_]</td></tr>"); ++$n; } print $fh "</tr>\n</table>\n"; } my $csv = Text::CSV->new; open my $csv_file, "<", "DATA2.csv" or die "Can't open CSV file: $!\n"; while (my $row = $csv->getline($csv_file)) { my($significator_and_file) = clean($row->[0]); my ($significator, $file) = split /\s+/, $significator_and_file; next unless $significator and $significator eq 'false'; open (my $per_line_fh, ">>", "$file.html") or die "Can't open per-line file $file: $!\n"; shift @$row; print $per_line_fh "<table>\n<tr><th>$file:</th></tr>\n"; for my $i(map {clean($_)} @$row) { #chomp $i; my $d = "<tr><td>$i</td></tr>\n"; chomp $i; print $per_line_fh $d if ($i); } print $per_line_fh "</table>\n</body>\n</html>"; close $per_line_fh; } sub clean { my $string = shift; $string =~ /\s*,\s*/; $string =~ /\s*,\s*/; return $string; }
2015-08-23T15:18:31 biancaLeider verstehe ich weder dein Deutsch noch die Frage.
Vermutlich geht es anderen auch so.
Guest HenriCode (perl): (dl )1 2 3 4 5 6sub clean { my $string = shift; $string =~ /\s*,\s*/; $string =~ /\s*,\s*/; return $string; }
1 2 3 4 5 6
sub clean { my $string = shift; $string =~ s/\s*,\s*//g; $string =~ s/\s*,\s*//g; return $string; }
Guest HenriHallo Raubtier,
hast du eine besere schreibweise dann wäre auch nett es zu veröffentlichen.
ja hatte ich es nicht korrigiert
Code (perl): (dl )1 2 3 4 5 6sub clean { my $string = shift; $string =~ s/\s*,\s*//g; $string =~ s/\s*,\s*//g; return $string; }
sorry es ist so
Code (perl): (dl )1 2 3 4 5 6sub clean { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; }
ok, ganz kurz ich möchte einfach die beide code einbinden.
die ausgabe sollte auf den selben ouput file geschrieben werden.