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

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -