Schrift
[thread]8432[/thread]

letzte Spalte in jeder zeile ändern: die zahlen durch best. zahl teilen (Seite 6)



<< |< 1 ... 3 4 5 6 >| >> 58 Einträge, 6 Seiten
pq
 2006-10-20 13:50
#70975 #70975
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=sabrina,20.10.2006, 11:39]@pq das da ein "@" und kein "$" stehen muss wusste ich schon danke dann hab ich es geändert da perl sagte ich solle es lieber mit $ schreiben und da perl sich damit auskennen
müsste dachte ich ich folge den anweisungen steht aber schon weiter oben, den opi hat mich schon darauf hingewiesen aber danke werde es mir merken![/quote]
sabrina, denk doch mal nach.
$line ist ein string und kein array. @line ist ein array. aber da steht
nix drin. mit $line[-2] greifst du auf das array @line zu. @line[-2] ist
einfach nur schlechte syntax für $line[-2].

nochmal die frage, und denk bitte genau nach: woher soll das array
@line kommen? was soll drinstehen?
wenn du nicht drauf kommst, leg dich nochmal schlafen oder lies
*nochmal* perldata.\n\n

<!--EDIT|pq|1161337894-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
sabrina
 2006-10-20 14:48
#70976 #70976
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
@pq
Da ich schon viele Seiten gelesen und mir die bilder angeschaut hab weiss ich das es scalare ($)gibt in dennen nur einzelne werte drin stehen.
Dann gibt es noch Arrays (@) in dennen meistens listen drin stehen  und es gibt Hashes (%) in dennen glaub auch listen drin stehen nur das siese nicht Sortiert sind und man sie mit einem Schlüssel versehen kann.
Eigendlich dachte ich mit dem
$array[-2] .= $y wird y an die liste gehängt aber ich seh grad das in y auch nur @array steht allso wieder nichts, Stimmts?
Werd aber zu Sicherheit noch mal perldata lesen.
War leider nicht schlafen dafür essen, vielleicht hilft es ja auch?

@renee hatte zwischen den "." und dem "=" ein leerzeichen, so jetzt bekomme ich auch syntax ok aber meine Daten Stimmen nicht.
1. stehen meine Daten alle neben einander in einer einzigen Reihe
2. hat es jetzt meine letzte spalte verändert und zwar steht dort überall 50 und die wurde zu 500.000
3. bekomme ich in der BIldschirm ausgabe verschiedene Use of uninitialized value in
   print, pattern, division und join in den Zeilen 21, 22 und 23
Wenn das am '%.3f' liegt ich will keine dezimalzahl mehr, dann will ich lieber ganze zahlen vielleicht mit '%.xu'!
Meine grösste Frage: wie kommt der von 50 auf 500.000?
lg sabrina\n\n

<!--EDIT|sabrina|1161342293-->
renee
 2006-10-20 15:03
#70977 #70977
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also das hier
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;

my @files = qw(BLUBBER.txt);
my $OUTPUT = 'ZIELgesamt.txt';

open(my $write_fh, '>', $OUTPUT) or die $!;
for my $file(@files){
open(my $fh,'<',$file) or die $!;
while(my $line = <$fh>){
$line =~ tr/\xa0//d;
my @array = (split /[\t\s\\]+/, $line)[0..7];
my $x = pop @array;
if ($x =~ /\./) {
pop @array;
my $y = pop @array;
$array[-1] .= $y;
}
else {
pop @array;
pop @array;
}
$array[-1] = sprintf('%.3f', $array[-1] / 1024);
print $write_fh join(';',@array),"\n";
}
close $fh;
}
close $write_fh or die $!;


funktioniert definitiv mit solchen Daten:

BLUBBER.txt
Code: (dl )
1
2
3
4
Bernstätter Roswita BLUBB\be3fr   66 715  457 6.7.2006 15:34
Gehring Sabrina BLUBB\ge3fr 32 016 85 5.7.2006 16:45 5.7.2006 16:45
Heizmann-Bayer Dorothea BLUBB\heb3fr 12 025 194 9.5.2006 7:41 9.5.2006 7:50
Zeile-mit-KB kleiner-100 BLUBB\heb3fr 12 194 9.5.2006 7:41 9.5.2006 7:50
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/
sabrina
 2006-10-20 15:26
#70978 #70978
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
Nach ein paar änderungen
1. hatte ich ein print das mir eine Bildschirmausgabe gibt, habs jetzt gelöscht viel besser das "\n" hatte ich auch grad eingebaut funzt

jetzt hab ich nur mit dem splitt ein problem und zwar hab ich jetzt [0..4] eingegeben und ich hab immer noch eine stelle zuviel, wenn ich aber [0..3]eingebe sind alle Daten weg bis auf eine Spalte 0.000. Genau die gleiche Ausgabe bekomme ich wenn ich alle $array[-1]in $array[-2] ändere.
So sieht meine ausgabe mit [0..4] aus:

EDIT  wenn ich $array[-2] dann muss ich im splitt bis [0..5]damit ich eine Ausgabe bekomme und unter $array[-1] reicht [0..4]


Code: (dl )
1
2
3
Bernstätter,Roswita;BLUBB;be3fr;66715;50;0.000
Gehring;Sabrina;BLUBB;ge3fr;32016;50;0.000
Heizmann-Bayer;Dorothea;BLUBB;heb3fr;12025;50;0.000
irgendwie lässt sich die 32016 nicht ansprechen und die überflüssige Spalte bekomme ich auch nicht weg.
lg sabrina\n\n

<!--EDIT|sabrina|1161584461-->
sabrina
 2006-10-23 11:12
#70979 #70979
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
Ich Behaupte jetzt mal das mein programm nicht richtig splittet, deshalb kann ich nicht bestimmte Spalte ansprechen.
Wenn ich mein splitt ändere auf [0..1] bekomme ich alle meine Spalten und eine 0 zum schluss.

kann es daran liegen?
lg sabrina
sabrina
 2006-10-23 12:56
#70980 #70980
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
Ich hab es geschaft es wird dividiert ganz dummer fehler!
Aber jetzt geht es ich hatte recht meine Spalten werden nicht gesplittet.
Jetzt muss ich nur noch Dezimalzahl hinbekommen und am Anfang steht noch ein ; mal schauen wie das wegbekomme.
geduld heisst das Zauberwort obwohl ich unter Zeitdruck stehe.
lg sabrina
sabrina
 2006-10-23 13:08
#70981 #70981
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
So das währe auch geschafft die Perldoc ist supi !! :)
Jetzt nur noch herrausfinden wie das ";" weg geht, das schaff ich auch noch!
sabrina
 2006-10-23 13:16
#70982 #70982
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
Also wenn ich mal nen lauf mit guten Ideen hab, dann aber richtig hab gerade auch noch das";" am Anfang entfernen können.
CHACKA du schaffst es!
So an jeden Neuling der das hier liesst glaub an dich, lass es ruhig angehen und du schaffst es auch alleine!

Danke ans Forum fuer die hilfe!  :cool:
lg sabrina :cool:
<< |< 1 ... 3 4 5 6 >| >> 58 Einträge, 6 Seiten



View all threads created 2006-10-18 18:37.