Как записать json массив в csv на php?

Пользователь

от ludie , в категории: Другие , 10 месяцев назад

Как записать json массив в csv на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ally , 10 месяцев назад

@ludie 

Для записи JSON массива в CSV файл на PHP, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

// JSON массив для записи
$jsonArray = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Chicago"}]';

// Декодирование JSON в ассоциативный массив
$array = json_decode($jsonArray, true);

// Открытие CSV файла для записи
$csvFile = fopen('output.csv', 'w');

// Запись заголовков
fputcsv($csvFile, array_keys($array[0]));

// Запись данных
foreach ($array as $row) {
    fputcsv($csvFile, $row);
}

// Закрытие CSV файла
fclose($csvFile);

echo 'Данные были успешно записаны в CSV файл.';

?>


В этом примере, JSON массив представлен в строковом формате в переменной $jsonArray. Затем, с помощью функции json_decode(), он декодируется в ассоциативный массив $array. Затем, открывается CSV файл для записи с помощью функции fopen(), и вначале записываются заголовки с помощью функции fputcsv(). Затем, в цикле, по одной строке записываются данные из массива с помощью функции fputcsv(). Наконец, CSV файл закрывается с помощью функции fclose().


После выполнения этого кода, в файле "output.csv" будут записаны данные из JSON массива в формате CSV.

Пользователь

от kameron , 5 месяцев назад

@ludie 

Для работы данного кода необходимо удостовериться, что у вас есть разрешение на запись в папку, где создается CSV файл. Кроме того, убедитесь, что переменная $jsonArray правильно содержит JSON данные. В приведенном коде, данные из JSON массива будут записаны в CSV файл "output.csv" в корневой папке вашего проекта. Если вы хотите указать другой путь для CSV файла, укажите полный путь в функции fopen(). Важно также убедиться, что у вас установлен PHP на вашем сервере или локальном компьютере для корректной работы этого кода.