PHP: Преобразование / конвертация CSV в JSON при помощи PHP
Преобразование CSV-файла в JSON в PHP. В этом уроке мы узнаем, как преобразовать данные или файл CSV в объект JSON в PHP.
Как преобразовать CSV в JSON в PHP
Цель этого урока - показать простой способ преобразования данных или файла CSV в объект JSON при помощи PHP.
Например, наш CSV-файл выглядит следующим образом:
PHP-скрипт для преобразования CSV-файла в JSON
Используйте следующие шаги для преобразования файла CSV в объект JSON в PHP:
Шаг 1. Сначала мы прочитаем CSV-файл по заданному пути и преобразуем CSV в массив в PHP.
Шаг 2. После того как мы преобразовали CSV-файл в массив. После этого мы преобразуем массив в JSON в PHP.
<?php
/*
* Преобразование CSV-файла в JSON PHP-скрипт
* Пример использует Google Spreadsheet CSV
*/
header('Content-type: application/json');
// Задаем здесь путь к файлу
$filePath = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vTEKCTdbMgSEt7UCymQ956PIYsHei51gpCtPou4VGugKRztJVuZSNuDXKDrdDiZxx6-Ebepte8P6OlG/pub?output=csv';
// определить два массива для хранения значений
$keys = array();
$newArray = array();
// Функция PHP для преобразования CSV в массив
function convertCsvToArray($file, $delimiter) {
if (($handle = fopen($file, 'r')) !== FALSE) {
$i = 0;
while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) {
for ($j = 0; $j < count($lineArray); $j++) {
$arr[$i][$j] = $lineArray[$j];
}
$i++;
}
fclose($handle);
}
return $arr;
}
// Вызов функции преобразования csv в массив
$data = convertCsvToArray($filePath, ',');
// Установите количество элементов (минус 1, потому что мы смещаем первую строку)
$count = count($data) - 1;
// Первая строка для ярлыка или имени
$labels = array_shift($data);
foreach ($labels as $label) {
$keys[] = $label;
}
// присвоить значение ключей идентификаторам, здесь мы добавляем новый идентификатор параметра
$keys[] = 'id';
for ($i = 0; $i < $count; $i++) {
$data[$i][] = $i;
}
// объединить оба массива
for ($j = 0; $j < $count; $j++) {
$d = array_combine($keys, $data[$j]);
$newArray[$j] = $d;
}
// преобразовать массив в json php с помощью json_encode()
$arrayToJson = json_encode($newArray);
// распечатать преобразованное значение csv в json
echo $arrayToJson;
?>
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.