Pokaż wyniki 1 do 9 z 9

Temat: [Perl] kolumny

  1. #1

    Domyślnie [Perl] kolumny

    Witajcie!
    Chcialabym wczytac dane z dwoch kolumn, ktore sa w postaci kolumn.
    plik liczby.txt:
    123
    34
    344
    65

    plik liczby2.txt
    2
    45.6
    34
    2

    I wyswietlic je w postaci
    123 2
    34 45.6
    344 34
    65 3

    Czyli moj cel to polaczyc te dwie kolumny.
    Czy moglabym porsic o wskazowki, jak to uczynic?

    Wczytywanie danych z piku mam za soba.

    Kod:
    #!/usr/bin/perl
    
    open (F, 'liczby.txt'); while (<F>) {
     $line=$_;
     push(@col,$line);
    
    }
    close(F);
    #print  @col ; 
    
    
    open (G, 'liczby2.txt'); while (<G>) {
     $line2=$_;
     push(@col2,$line2);
    
    }
    close(G);
    print  @col, @col2;
    Ostatnio edytowane przez Gosik : 11-25-2012 - 22:16

  2. #2

    Domyślnie

    Witajcie Gosik!

    rid de fakin manual.

  3. #3

    Domyślnie

    Cytat Napisał lalamido_hi Zobacz post
    Witajcie Gosik!

    rid de fakin manual.
    Wielkie dzieki za bezcenna rade!

    Sprobowalam zrobic to w nastepujacy sposob:
    Kod:
    foreach $element1(@col) {
            $element2 = shift(@col2);
            print qq($element1 \t $element2);
    }
    Ale wyszla lekka lipa:
    Kod:
    223
     	 123
    4
     	 2
    65
     	 33
    43
     	 45
    67
     	 34
    765
     	 24
    3
     	 43
    Nie wiem, jak zrobic, by wyswietlalo kolumny w jednej linii... Macie jakies pomysly, jak rozwiazac ten problem?

  4. Domyślnie

    Ale wyszla lekka lipa:
    Kod:
    223
     	 123
    4
     	 2
    65
     	 33
    43
     	 45
    67
     	 34
    765
     	 24
    3
     	 43
    Nie wiem, jak zrobic, by wyswietlalo kolumny w jednej linii... Macie jakies pomysly, jak rozwiazac ten problem?
    To co Ci się dzieje, to nie jest problem wymagający rozwiązania.
    Razem z pobranym tekstem masz w zmiennych znaczniki nowych linii "\n" dlatego wychodzi Ci ten "zygzak". Możesz je usunąć z tablic ~s/\n// przed funkcją push.
    dopisz sobie w pętlach z open:
    $line=$_; $line=~s/\n//;

    Dodaj jeszcze \n do print
    Ostatnio edytowane przez stary dziadek : 11-26-2012 - 22:25

  5. #5
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    prosciej...

    Kod:
    chomp(@col1);
    chomp(@col2);
    for (my $i=0; $i<=$#col1; $i++) {
      print "$col1[$i] $col2[$i]\n";
    }
    i powinno byc ok
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  6. #6

    Domyślnie

    Super! Wielkie dzieki za pomoc!

  7. #7

    Domyślnie

    no to super Gosik.

    przepisz od razu wszystkie zadania z ksiazki czy tam z kartkowki i zrobimy je za ciebie hurtem.

    albo czytaj dokumentacje latami TAK JAK JA to bedziesz sama wiedziec i dawac sobie bezcenne porady niczym pro lit haker koder.

  8. #8
    Zarejestrowany
    Jun 2012
    Skąd
    lublin
    Postów
    35

    Domyślnie

    Cytat Napisał lalamido_hi Zobacz post
    no to super Gosik.

    przepisz od razu wszystkie zadania z ksiazki czy tam z kartkowki i zrobimy je za ciebie hurtem.

    albo czytaj dokumentacje latami TAK JAK JA to bedziesz sama wiedziec i dawac sobie bezcenne porady niczym pro lit haker koder.

    widzę, że kolega o bystrej ksywie "lalamido_hi" wprost zaczerpnietej od kolegów z gimnazjum poza tekstami ze strony chamsko.pl nic wiecej nie wnosi na tym forum, a jedynie próbuje podbudować swoje zakompleksione ego.... przejzałem pare postów, zawsze piszę w tym samym "stylu.."

  9. #9

    Domyślnie

    kocham cie error. w moim gimnazjum wszyscy cie kochaja.
    i wszyscy mamy 27 lat :*:*:*:*

    paaaaaa

    EDIT:

    Usunąłem resztę wypowiedzi i pytam: rynsztok czy forum?

    markossx

    btw: temat uznaję za wyczerpany i zamykam,
    jeszcze raz tak daleko idący brak szacunku do
    rozmówcy i będzie BAN - obiecuję...
    Ostatnio edytowane przez markossx : 11-27-2012 - 16:30

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj