Schrift
[thread]9071[/thread]

formatierte Datenausgabe



<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
Norden
 2007-06-06 13:25
#77311 #77311
User since
2007-05-30
12 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe folgenden Quellcode:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
do
{
$line = <FILE>;
chomp($line);
$zeile = $zeile+1;
$byte = 0;
for(my $z = 1; $z <= $Number[$zeile]; $z++)
{
printf DATEI ("%.4f\n", unpack("I", substr($line,$byte,4)) *$MultFact[$zeile]);
$byte = $byte + 4;
}
} until $zeile == $Anzahl || eof;


Ich lese dadurch aus einer Zeile einer Datei ganz viele Werte aus. Jetzt möchte ich aber, dass mir die Daten bei einem Zeilenwechsel in einer neuen Spalte ausgegeben werden.
Wie kann ich das realisieren?
MisterL
 2007-06-06 13:52
#77312 #77312
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Auch hallo,

der neugierige Leser wird wohl wissen wollen, wie die Quelldatei und der restliche Perlcode aussehen.

Gruss MisterL
“Perl is the only language that looks the same before and after RSA encryption.”
renee
 2007-06-06 14:05
#77313 #77313
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
... und natürlich auch wie das Endergebnis aussehen soll.

Am besten ein Dummybespiel zeigen.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Norden
 2007-06-06 14:12
#77314 #77314
User since
2007-05-30
12 Artikel
BenutzerIn
[default_avatar]
Also,
das ist jetzt ein Teil des Quellcodes, müsste denke ich verständlich sein. Lese aus einer Binärdatei zeilenweise Werte aus und wandle sie mit einem Faktor um. In jeder Zeile der Datei stehen sehr viele Werte, die ich über die for-Schleife ausgebe. Ist die for-Schleife beendet, wird die nächste Zeile der Datei eingelesen. Die Werte in dieser Zeile sollen dann aber in einer neuen Spalte ausgegeben werden, nicht unter den Werten der ersten Zeile.
Soll am Ende also so aussehen:

Spalte1 Spalte2 Spalte3 usw.
Werte 1.Zeile Werte 2.Zeile Werte 3.Zeile

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
# zu lesende Datei
open(FILE, '<', $filename) or die $!;
local $/ = "\r\n";
binmode(FILE);

# Ergebnisse hier hineinschreiben
open(DATEI,">>Pfad/daten.txt");

$zeile = 0;
my $byte;
do
{
    $line = <FILE>;
    chomp($line);
    $zeile = $zeile+1;
    $byte = 0;
    for(my $z = 1; $z <= $Number[$zeile]; $z++)
    {
        printf DATEI ("%.4f\n", unpack("I", substr($line,$byte,4)) *$MultFact[$zeile]);
        $byte = $byte + 4;
    }
} until $zeile == $Anzahl || eof;
\n\n

<!--EDIT|renee|1181125546-->
renee
 2007-06-06 14:24
#77315 #77315
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
kannst Du das bitte mal mit konkreteren Werten zeigen? (Quelle und Ziel)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Norden
 2007-06-06 14:37
#77316 #77316
User since
2007-05-30
12 Artikel
BenutzerIn
[default_avatar]
Quelle:
10101011111010101010101010101010101010101010101......
00101010101010101010101010010111111111000000100......

Ziel:
2,4552 20,3400 1,2440
2,3475 50,6000 1,1712
4,4104 29,0100 0,0615
12,2865 28,3000 0,4319
0,0845 28,1500 2,0127

Die erste Spalte vom Ziel lese ich aus der ersten Zeile der Quelle aus (sind nur Beispiel-Werte, die Quelle ist wie gesagt binär).
PerlProfi
 2007-06-07 10:16
#77317 #77317
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Wieso liest du nicht erst die Werte komplett in ein Array und schreibst sie am Ende in der gewünschten Form raus ?

MfG
renee
 2007-06-07 11:29
#77318 #77318
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, so müsste man das machen. Wobei ich immer noch nicht so wirklich kapiert habe, wann man in die nächste Zeile geht und wann was in der aktuellen Zeile angefügt werden soll...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
PerlProfi
 2007-06-07 12:58
#77319 #77319
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Ich glaube die Werte aus Zeile1 sollen in die 1. Spalte und die Werte von Zeile 2 in 2. Spalte, usw.
renee
 2007-06-07 14:00
#77320 #77320
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und was kommt dann in die zweite Zeile? Das meine ich damit, dass der OP es *genau* erklären soll, wie man von der Quelle zum Ziel kommt.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2007-06-06 13:25.