Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Jak przekształcić kolumny z pliku txt w tablice?
grzegorz80
post 9.03.2008, 04:19:42
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2008

Ostrzeżenie: (0%)
-----


Witam,
Dysponuje plikami txt w których dane zapisane są w kolumnach, (jak w excellu). Na podstawie takiego pliku muszę opracować wykresy przedstawiające wartośći z kolumn. Sądze, że dane z kolumn pliku txt będzie trzeba zamienić na tablice, kótre następnie można będzie podstawić do jakiejś biblioteki. Jak to zrobić w PHP, jakiej biblioteki użyć, proszę o fragmnet kodu.
Powód edycji: dodalem tag (cysiaczek)
Go to the top of the page
+Quote Post
Ociu
post 9.03.2008, 08:53:42
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




file" title="Zobacz w manualu PHP" target="_manual
http://www.programuj.com/faq/www/wykres.php
pozdrawiam
Go to the top of the page
+Quote Post
grzegorz80
post 9.03.2008, 14:08:29
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2008

Ostrzeżenie: (0%)
-----


Dzięki za linki ale to nie rozwiązuje mojego problemu jakim jest wyciagnięcie danych z kolumn pliku do tablic.
Plik wygląda tak:
Cytat
data Dana1 Dana2 Dana3 ....
czas1 wart.1 wart.1 wart.1
czas2 wart.2 wart.2 wart.2
czas3 wart.3 wart.3 wart.3
... .... ... ...


Chciałbym teraz utworzyć tablice:
$Dana1[] = array(wart.1, wart.2, wart.3, itd.);
$Dana2[] = array(wart.1, wart.2, wart.3, itd.);
$Dana3[] = array(wart.1, wart.2, wart.3, itd.);
...

które następnie możnaby wstawić do wykresu. Jak to zrobić?
Go to the top of the page
+Quote Post
l0ud
post 9.03.2008, 14:14:27
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


explode(), file_get_contents() smile.gif

  1. <?php
  2. $input = explode("r\n",file_get_contents('plik.txt'));
  3. $output = array();
  4.  
  5. for ($i=0, $b=count($input); $i<$b; $i++) {
  6. $output[$i] = explode(' ',$input[$i]);
  7. }
  8. ?>


I w ten sposób uzyskujesz tablicę dwuwymiarową $output. Możesz zobaczyć jak ona wygląda stosując print_r($output); winksmiley.jpg


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
grzegorz80
post 10.03.2008, 19:23:48
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2008

Ostrzeżenie: (0%)
-----


Dzięki wszystkim za chęć pomocy. Problem rozwiązałem po swojemu winksmiley.jpg
oto fragment kodu, może się komuś przyda:

Kod
$tablica=file("plik.txt");

$vLabels=array();       //oś x
$vCht1=array();            // igreki :)
$vCht2=array();
$vCht3=array();
$vCht4=array();


for($i=1; $i<count($tablica); $i++)
{
    $y=explode("\t", $tablica[$i]);    //y -ilość kolumn

    array_push($vLabels, $y[0]);
    if(count($y)>0)
    array_push($vCht1, $y[1]);
    if(count($y)>1)
    array_push($vCht2, $y[2]);
    if(count($y)>2)
    array_push($vCht3, $y[3]);
    if(count($y)>3)
    array_push($vCht4, $y[4]);

} //for

//print_r($vLabels);  no i można sobie zobaczyć efekt
//print_r($vCht1);
//print_r($vCht2);
//print_r($vCht3);
//print_r($vCht4);


do zrobienia wykresu wykorzystałem bibliotekę panachart2.

Ten post edytował grzegorz80 10.03.2008, 19:24:37
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:41