PHP:
Работа с CSV
Как это сделать:
Чтение файла CSV
<?php
$filename = 'data.csv';
if (($handle = fopen($filename, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
echo "Строка: " . print_r($data, true) . "\n";
}
fclose($handle);
}
?>
Пример вывода:
Строка: Массив
(
[0] => Имя
[1] => Возраст
[2] => Электронная почта
)
Строка: Массив
(
[0] => Джон Доу
[1] => 30
[2] => [email protected]
)
Запись в файл CSV
<?php
$list = [
['Имя', 'Возраст', 'Электронная почта'],
['Джейн Доу', '25', '[email protected]'],
['Джон Смит', '40', '[email protected]']
];
$filename = 'output.csv';
$handle = fopen($filename, 'w');
foreach ($list as $fields) {
fputcsv($handle, $fields);
}
fclose($handle);
?>
Глубокое погружение
CSV существует с первых дней вычислительной техники, что делает его одним из самых долговечных форматов хранения данных. Несмотря на то что форматы JSON и XML предлагают большую сложность, CSV остаётся популярным за его простоту. Используя PHP для работы с файлами CSV, вы взаимодействуете с файловой системой через встроенные функции, такие как fgetcsv()
и fputcsv()
. Эти функции инкапсулируют все тонкости парсинга и записи файлов, делая процесс достаточно простым. Обратите внимание, что функция fgetcsv()
позволяет определить параметр длины и разделитель, которые вам, возможно, придётся настраивать в соответствии со спецификациями вашего файла CSV.
См. также
- Официальная документация PHP по функции fgetcsv: https://www.php.net/manual/ru/function.fgetcsv.php
- Официальная документация PHP по функции fputcsv: https://www.php.net/manual/ru/function.fputcsv.php
- Введение в обработку CSV с помощью PHP: https://www.php.net/manual/ru/book.fileinfo.php
- Онлайн-редактор и валидатор CSV: https://csvlint.io/
- RFC 4180, Общий формат и MIME-тип для файлов с разделёнными запятыми значениями (CSV): https://tools.ietf.org/html/rfc4180