Инструменты пользователя

Инструменты сайта


csv

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
csv [2019/04/14 02:28]
a1 создано
— (текущий)
Строка 1: Строка 1:
-Для отсутствия граблей оформляем файл в соответствии со стандартом RFC 4180 со следующими изменениями:​ 
  
-1). Файл должен быть сохранен в UTF-8 без BOM 
- 
-2). Все значения полей csv должны быть заключены в двойные кавычки (") 
- 
-3). Поля должны быть разделены (;) 
- 
-4). Поля не должны содержать переводов строки (\n) 
- 
-5). Все печатные служебные символы (;"\) внутри полей должны быть экранированы обратным слешем (\) 
- 
-Пакеты MS Excel и OpenOffice некорректно читают экранирование в csv формате,​ 
-поэтому для быстрой правки используем LibreOffice 
- 
-Пример:​ 
- 
-"​name";"​description";​ 
- 
-"​Наименование";"<​span clss=\"​red\">​Красный текст</​span>";​ 
- 
-"​Наименование";"<​span clss=\"​blue\">​Синий текст</​span>";​ 
- 
-Запись данных csv: 
- 
-<code php> 
-           //​Преобразовать тектовое значение в поле csv 
- function csv_quote($text) { 
- $text=trim($text);​ 
- $text=str_replace("​\r\n",'',​ $text); 
- $text=str_replace("​\n",'',​ $text); 
- $text=str_replace('"','​\\"',​ $text); 
- $text=str_replace(';','​\\;',​ $text); 
- return '"'​.$text.'";';​ 
- } 
- 
-           //​Сохранить массив в csv. Ключи первого элемента запишутся как заголовки 
- function save_csv($filename,​ $items){ 
- $keys = array_keys($items[0]);​ 
- foreach($keys as $key) { 
- $content.= csv_quote($key);​ 
- } 
- $content.="​\n";​ 
- foreach($items as $item) { 
- foreach($item as $value) { 
- $content .= csv_quote($value);​ 
- } 
- $content.="​\n";​ 
- } 
- file_put_contents($filename,​ $content); 
- } 
- 
-Чтение данных CSV: 
- 
- $fp = fopen($filename,​ "​rt"​);​ 
- $data=fgetcsv($fp,​0,";"​);​ 
- fclose($fp);​ 
- 
-</​code>​ 
csv.1555198119.txt.gz · Последние изменения: 2019/04/14 02:28 — a1