02. februar 2011 - 00:17
Der er
6 kommentarer og
1 løsning
Importere dataindhold fra fil til
Hej
Jeg har en datafil der ser således ud:
Dive Time, m, °C, O2%
0:00, 0.00, 9.2, 21,
0:04, 1.34, 9.2, 21,
0:08, 1.14, 9.2, 21,
0:12, 1.64, 9.2, 21,
0:16, 2.10, 9.2, 21,
0:20, 2.54, 9.2, 21,
og så videre...
Jeg vil gerne importere denne ind i mit php-script, og få indholdet i søjlerne som arrays, således jeg i alt får fire arrays indeholdende lige mange datapunkter.
På forhånd tak!
02. februar 2011 - 10:37
#1
Du kan bruge file() til at lave et array.
Derefter en forløkke til at loope hver linie i filen igennem.
I forløkken bruges først trim() af hver linie for at fjerne space/liniskift.
Dernæst explode() til at lave et array, som du derefter kan putte i dit nye array.
02. februar 2011 - 15:02
#4
Næsten det samme:
<?php
$fil = file("fil.txt");
// definerer et array på forhånd, med 4 "keys" som hver er endnu et array
$new_ar = array("Tidspunkt" => array(), "Minutter" => array(), "Temp" => array(), "co2" => array());
// $i == 1 fordi den første linie ikke indeholder relevant info ?
for($i = 1; $i < count($fil); $i++) {
$line = trim($fil[$i]);
if(empty($line)) {
continue;
}
// Del linie op for hvert komma
$vars = explode(",", $line);
if(count($vars) >= 4) {
$new_ar["Tidspunkt"][] = trim($vars[0]);
$new_ar["Minutter"][] = trim($vars[1]);
$new_ar["Temp"][] = trim($vars[2]);
$new_ar["co2"][] = trim($vars[3]);
}
}
echo"<pre>";
print_r($new_ar);
echo"</pre>";
?>
04. februar 2011 - 12:33
#6
du får mit her. men indrømmet det var showsource, der bidrog mest.
showsource løsning tager også hensyn til dine tomme linje mellem overskrifter og data, samt trimmer data for mellemrum før/efter data