Нужна помощь в конвертации нижеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Нужна помощь в конвертации ниже

Сообщение Anonymous »


I have a dataset of in a particular format in CSV

key=value,key2=value,key3=value key=value,key2=value,key4=value,key3=value I want to convert it to

key,key2,key3,key4 value,value,value,null value,value,value,value But the array mismatches in output csv

I have tried below code already
if (($handle = fopen("sheet4.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $cols = explode(",", $data[0]); $num = count($cols); for ($c = 0; $c < $num; $c++) { $colData = explode("=", $cols[$c]); $outputHeaders[$row][$colData[0]] = $colData[0]; $output[$row][$colData[0]] = $colData[1]; } $csvOutput[$row] = array_combine($outputHeaders[$row], $output[$row]); $row++; } fclose($handle); } foreach ($csvOutput as $row => $rowData) { $extractHeaders[] = array_keys($rowData); } $mergedHeaders = array_unique(call_user_func_array('array_merge', $extractHeaders)); $fp = fopen('sheet4out.csv', 'wa'); fputcsv($fp, $mergedHeaders); foreach ($csvOutput as $key => $fields) { $rowKeys = array_keys($fields); if (count($mergedHeaders) == count($rowKeys)) { } else { $differntKeys = array_diff($mergedHeaders, $rowKeys); $fields = array_merge($fields, array_fill_keys($differntKeys, 'banana')); } fputcsv($fp, $fields); }

Источник: https://stackoverflow.com/questions/780 ... vert-below
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»