I've got a CSV file with two sets of data in it [its pulled of a temperature logger]. I'm wondering if there's a way to import the first two rows as one set of data and the rest as a second set of data. I'm familiar with PHP, but have never had to do anything like this. I've attached a subset of data below. Any help or direction would be greatly appreciated. Thanks.
Ajay
Serial Number,Model,Name,Number,Time of Reading,Sample Rate,Start Time
910000000ebeaa4,DS1922T,SRBA04-240909 ,beaa-TNTVLPRP54,9/30/09 16:52,1,9/24/09 18:59
Sample #,Date/Time,Temp ¡F,Temp ¡C,,,
1,"Thu, Sep, 24, 06:59, PM",82.4,28,,,
2,"Thu, Sep, 24, 07:00, PM",83.3,28.5,,,
3,"Thu, Sep, 24, 07:01, PM",83.3,28.5,,,
4,"Thu, Sep, 24, 07:02, PM",83.3,28.5,,,
5,"Thu, Sep, 24, 07:03, PM",83.3,28.5,,,
6,"Thu, Sep, 24, 07:04, PM",83.3,28.5,,,
7,"Thu, Sep, 24, 07:05, PM",83.3,28.5,,,
8,"Thu, Sep, 24, 07:06, PM",83.3,28.5,,,
9,"Thu, Sep, 24, 07:07, PM",83.3,28.5,,,
10,"Thu, Sep, 24, 07:08, PM",83.3,28.5,,,
solution, based on deceze's comment below
deceze, thanks. this works [as does the sql insert]. much appreciated.
<?php
$fhandle = fopen('1.csv', 'r');
$device_header = fgetcsv($fhandle, 1000, ',');
$device_data = fgetcsv($fhandle,1000,',');
$device = array_combine($device_header, $device_data);
$data_header = fgetcsv($fhandle,1000,',');
$dataset = array();
while ($data = fgetcsv($fhandle,1000,',')) {
$dataset[] = array_combine($data_header, $data);
}
fclose($fhandle);
?>
expects array, boolean given
means that a call tofgetcsv($fhandle)
probably returnedfalse
at some point. You'll have to put some more error handling in, I'm just showing you the general approach. Do not just copy and paste code without understanding what it does. As for SQL, you should be able to insert that data with the resulting$set1
and$set2
arrays. I don't understand what you want to append, but again, if you try to understand the code you can customize it to meet your needs. – deceze Jul 23 '10 at 3:51