Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Jak przekształcić kolumny z pliku txt w tablice?
Forum PHP.pl > Forum > Przedszkole
grzegorz80
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.
grzegorz80
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ć?
l0ud
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
grzegorz80
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.