php - Transpose CSV data vertical to horizontal by productid -
i have csv file online needs te transposed php because needs done every hour (cronjobs).
i use csv import products opencart 'csv-import' module karapuz.
my current csv looks this:
productid;imageurl;sequence;lastupdate 6867;[urllink0];0;19-08-2013 6867;[urllink1];1;19-08-2013 6867;[urllink2];2;20-03-2012 6867;[urllink3];0;19-08-2013 6867;[urllink4];1;19-08-2013 6867;[urllink5];2;19-08-2013 6867;[urllink6];3;20-03-2012 6867;[urllink7];4;20-03-2012 6867;[urllink8];2;20-03-2012 6867;[urllink9];0;19-08-2013 6867;[urllink10];1;20-03-2012 8352;[urllink11];0;19-03-2013 8352;[urllink12];1;20-03-2012 9970;[urllink13];0;19-08-2013 9970;[urllink14];1;20-03-2012 9970;[urllink15];0;19-08-2013 9970;[urllink16];1;19-08-2013 9970;[urllink17];2;20-03-2012 9970;[urllink18];3;20-03-2012 9970;[urllink19];0;19-03-2013 9970;[urllink20];0;19-08-2013 9970;[urllink21];1;19-08-2013 9970;[urllink22];2;20-03-2012 9970;[urllink23];3;20-03-2012 9970;[urllink24];5;20-03-2012 9970;[urllink25];6;20-03-2012
...................... 19000 lines
so every image product put in rows.
for import script, csv should like: (1 product per row)
productid;main image;additional images; 6867;[urllink0];[urllink1]:::[urllink2]:::.........; 8352;[urllink11];[urllink12]; 9970;[urllink13];[urllink14]:::[urllink15]:::[urllink16]..........;
additional images in 1 cell, devided ':::'.
so rows should transposed columns, amount (sequence) of images variable.
thanks in advance.
if understand question correctly trying change format of csv file can imported import friendly format 'csv-import' module karapuz.
you'll need parse csv , rewrite in other format. try parsing csv file , putting values array. here, need rewrite csv file in new format. hope helps:
$pid,$prods =array(); $file = fopen('remove.csv', 'r'); while (($line = fgetcsv($file)) !== false) { print_r($line); $pid = explode(";",$line[0]); $prods[$pid[0]][] = $pid[1]; } fclose($file); print_r($prods) // outputs below: [6867] => array ( [0] => [urllink0] [1] => [urllink1] [2] => [urllink2] [3] => [urllink3] [4] => [urllink4] [5] => [urllink5] [6] => [urllink6] [7] => [urllink7] [8] => [urllink8] [9] => [urllink9] [10] => [urllink10] ) [8352] => array ( [0] => [urllink11] [1] => [urllink12] ) [9970] => array ( [0] => [urllink13] [1] => [urllink14] [2] => [urllink15] [3] => [urllink16] [4] => [urllink17] [5] => [urllink18] [6] => [urllink19] [7] => [urllink20] [8] => [urllink21] [9] => [urllink22] [10] => [urllink23] [11] => [urllink24] [12] => [urllink25] )
Comments
Post a Comment