Thread Datei auslesen, wie Strukturieren (3 answers)
Opened by Mark at 2011-05-16 12:15

topeg
 2011-05-16 13:39
#148676 #148676
User since
2006-07-10
2611 articles
BenutzerIn

user image
am einfachsten für Perl:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
[Abschnitt]
1
blabla blubb

[Abschnitt]
2
foofoo blubb

[Abschnitt]
3
barbar blubb


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl
use strict;
use warnings;
my $file='data.txt';

open(my $fh, '<', $file) or die("ERROR open $file ($!)\n");
{
  local $/="[Abschnitt]\n";
  while(my $block=<$fh>)
  {
    chomp($block);
    next unless($block);

    my ($id,$data)=split("\n",$block,2);

    # ...
    print "BLOCK: $id\n";
    print "DATA:\n$data\n";
    print "#####################\n";
    # ...
  }
}
close($fh);


Die Frage ist nur ob man nicht ein Modul zum lesen nutzen will. Allgemein häufig genutzt wird XML:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
<data>
<abschnitt id="1">
blabla blubb
</abschnitt>
<abschnitt id="2">
foofoo blubb
</abschnitt>
<abschnitt id="3">
barbar blubb
</abschnitt>
</data>


Es hängt halt davon ab was du noch mit den Daten machen willst. Werden die Daten komplexer kann es problematisch und komplex werden ein eigenes Format zu ergänzen und dabei auf die vielen möglichen Fallstricke zu achten (z.B. escaping).

View full thread Datei auslesen, wie Strukturieren