Объявление
Формат файлов CSV Spreadsheet
Файлы CSV (Comma-separated values или character-separated values - "разделенные запятыми/символами значения") представляют собой файлы, которые хранят табличные данные (цифры и текст) в формате простого текста. Такой формат используется для сбора данных из таблиц и последующего копирования в другие программы, работающие с таблицами. В частности, такие файлы может открывать программа Microsoft Excel. Файлы CSV используются различными приложениями для работы с таблицами. Простота и надежность формата позволяет пользователям без проблем работать с такими файлами. Стоит отметить, что то представление данных, которое используется в формате CSV, старше самого первого персонального компьютера на более чем 10 лет. Именно такое представление данных позволяет увеличить точность информации, особенно в случае использования перфокарточных систем хранения данных.
Технические сведения о файлах CSV
Различные значения разделены в таблице последовательностью текстовых строк ASCII (Американской стандартной кодировки обмена информацией). В таком виде такие данные можно представить в виде значений в столбцах, отделенных от других столбцов запятой (или другим разделителем). Новые строки создаются путем внесения новых текстовых строк. Формат CSV представляет собой единый стиль файлов с разделенным текстом, т.е. для отделения значения друг от друга используют запятую (или другой разделитель). Таким разделителем может быть запятая, обратный слэш, прямой слэш. При этом данный формат в других приложениях использует двойные кавычки, окружающие поля со спецсимволами. Это позволяет легко переносить данные в другие приложения.
Дополнительная информация о формате CSV
Расширение файла | .csv | ||||||
Категория файлов | |||||||
Файл-пример |
(0,79 KiB) |
||||||
Связанные программы | Microsoft Excel Microsoft Works Corel Quattro Pro Apache OpenOffice LibreOffice Microsoft Notepad Libre Office MobiSystems OfficeSuite Pro 7 |
||||||
Министерство образования и науки Российской Федерации Государственное бюджетное учреждение высшего профессионального образования Новосибирский государственный технический университет Кафедра СИТ |
|
Расчетно-графическая работа по дисциплине «Сетевые информационные технологии» Формат данных CSV |
|
Группа: АВТ-909 Выполнил: Гоголи А.Г. |
Преподаватель: Хайретдинов М.С. |
Новосибирск, 2013 |
Задание. 3
1. Введение. 4
2. Общие сведения. 5
3. Структура данных в файле. 6
3.1. Записи. 6
3.2. Поля (столбцы) 6
3.2 Разделители. 7
3.3 Маркер конца записи. 7
4. Запись заголовка. 9
5. Защита поля данных. 9
5.1 Двойные кавычки для защиты.. 9
5.2 Двухместный двойные кавычки. 10
6. Пример реализации. 11
7. Библиотеки для работы с форматом.. 12
8. Тестовая программа. 13
Литература. 14
Задание
1. Изучить и написать обзор формата CSV.
2. Написать обзор имеющихся в сети бесплатно распространяемых библиотек, реализующих чтение/запись данных в указанном формате/языке описания или пересылку данных для указанного протокола или интерфейса I/O и стыкуемых с модулями на С/С++.
3. Написать процедуру чтения данных в указанном формате.
4. Написать процедуру записи данных в указанном формате.
5. Написать функцию приема/передачи данных с использованием указанного протокола или интерфейса I/O.
6. Составить тестовые наборы данных для проверки всех видов элементов данных, используемых в указанном формате.
1. Введение
CSV (от англ. Comma-Separated Values - значения, разделённые запятыми) - текстовый формат, предназначенный для представления табличных данных. Каждая строка файла - это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (delimiter) -запятой(,).
CSV-файл можно рассматривать как хранилище данных от приложения производителя до считывания приложением потребителя. Их основная функция заключается в хранении текстовых данных и не предназначены для двоичных данных.
2. Общие сведения
CSV файл состоит из двух типов данных: полезных данных и маркеров. Полезные данные это то, что записывается в приложении производителя и считывается в приложении потребителя. Маркеры используются для организации полезных данных внутри файл CSV.
Следующие правила применяются для всех файлов CSV:
1 Расширение файла должно быть *.csv независимо от вида маркеров.
Это гарантирует правильное считывание файла вместе с маркерами. Три общих 8-битные кодировки: 1252, ISO / IEC 8859-1 и UTF-8.
3 Кроме маркеров ничего не должно быть записано в кодировке ASCII.
Файл CSV не предназначено для хранения двоичных данных. Это правило запрещает использование большинства управляющих символов ASCII.
4 CSV-файл должен содержать хотя бы одну запись.
CSV файл не должен быть пустым (иметь нулевую длину) или состоять только из логического конца. Минимальное количество записей, которые должен содержать CSV файл, это одна запись - заголовок, за которым может следовать 0 и более записей данных.
3. Структура данных в файле
3.1. Записи.
Запись в CSV файле состоит из двух частей: основные данные с разделителями и маркера конца записи. (рис.1)
Рисунок 1. Структура записей в CSV-файле.
3.2. Поля (столбцы)
CSV, как правило, используются для хранения однородных табличных данных. При просмотре в таблице, данные внутри CSV визуально расположены в несколько строк (записей) и столбцов (полей). Отсюда и термин поле столбца.
При фиксированной длине поля относительное местоположение каждого поля внутри записи должно быть фиксировано. Однако, CSV это формат файлов, который позволяет записи переменной длины. Это дает возможность сэкономить значительные пространства по сравнению с форматами фиксированной длины. Для реализации данного подхода используется маркер разделения полезных данных, который указывает на переход от одного поля к другому. Разделителем полей является один символ.
Так же присутствует запись заголовка. Поэтому очень важно, что бы поля в записи следовали в заданном порядке.
На рис.2 показано, где используются символы разделения (SEP) в записи. Вся запись может состоять только из разделителей.
Рисунок 2. Формат записи в CSV-файле.
3.2 Разделители
Хотя имя файла формата Comma-Separated Values - значения, разделённые запятыми предполагает в виде разделителя полей запятую, некоторые приложения используют и другие символы.
Следующие правила применяются для разделителя:
1 Разделитель полей должен быть одним символом.
2 После выбора символа, тот же символ должен использоваться на протяжении всего файла.
3 Производитель приложение должен использовать запятую (ASCII 0x2C) в качестве разделителя полей.
Это правило поднимает один из самых сложных вопросов, с которыми сталкиваются разработчики при реализации кода для обработки файла CSV: разделители, встроенные в полезные данные.
Если у вас уже солидная база клиентов, база заказов и соответственно детальные описания продуктов, которые вы продаете, то рано или поздно перед вами встанет проблема обмена и сбережения информации.
Возможные проблемы для рабочего Интернет-магазина:
- Как собрать и сохранить данные клиентов?
- Как выбрать и отфильтровать данные по заказам?
- Как подсчитать заказы (создание выборок и различные вычисления)?
- Как перенести описания товаров в другой Интернет-магазин или на другую базу?
По ходу работы Интернет магазина возникают новые и дополнительные вопросы.
Все эти вопросы, возможно решать, даже если у вас нет возможности изменить логику представления данных или программировать скрипты Интернет магазина.
Вы можете спросить меня - как это?
Что такое csv файл?
Это текстовый файл, в котором содержится информация, а поля разделяются специальными символами - разделителями. Поэтому и он называется Comma Separated Values - значения, разделённые запятыми.
Вообще-то в США эти файлы разделяются действительно запятыми, в странах СНГ основным разделителем есть точка с запятой, то есть ; Хотя Вы можете выбрать себе другой уникальный разделитель. Как выбрать себе уникальный разделитель - я отпишу ниже. Конечно, тут есть еще нюансы.
Этот же csv-файл может быть полезен для операций прайс-листами он-лайн магазина.
Про эти возможности я описывал в своей предыдущей статье: "Прайс лист Excel: Как удобно работать в Интернет-магазине?"
Думаю, более удобнее будет для вас показать полезность csv формата на реальных примерах.
Предположим мне нужно экспортировать все продукты Интернет-магазина для редактирования или для ознакомления.
Экспортируем данные в csv файл и сохраняем на свой ПК.
Вы видите, что браузер сам определил, что файл формата csv может быть отрыт программой Microsoft Excel.
Хорошая новость, что вам не нужен еще дополнительный инструмент для работы с файлом CSV. Чтобы открыть файл вам достаточно даже простой Блокнот или другая программа, которая может читать тексты. А для автоматического преобразования данных в файле подойдет Excel или подобная программа. Например, бесплатный пакет Open Office.
Обычно, первая строка файла - это список полей, для которых делается экспорт. Вы можете потом удалить их, чтобы они не нарушили ваши данные.
Следующие данные разбиты по строкам, причем поля отделяются разделителем - то есть специальным символом. В нашем варианте это точка с запятой.
Некоторые клиенты забывают про специальный разделитель и "попадаются" на этой детали.
Если у вас в описании товара используются такие символы, попробуйте поставить другой разделитель, который точно не будет использоваться в описании товаров. Например: * или # или другой символ.
Чтобы открыть файл, просто запустите его в Excel
Возможные проблемы в таких типах файлов могут возникать в ценах (точка и запятая) для разделения цифр.
Эти моменты решаются простой функцией автозамены значений полей.
Теперь, мы получили нужный файл, внесли в нем изменения. Например, поменяли цены для всех товаров на 20 % и хотим закачать его обратно в магазин.
Как автоматически менять цены на прайс - я описывал в свой статье .
Как это сделать - очень просто!
Большинство Интернет-магазинов или больших и серьезных программ используют промежуточный файл сохранения данных - то есть CSV файлы. Будь это 1С Бухгалтерия или Интернет-магазин.
Как закачать прайс или описание товаров в магазин?
На примере я покажу, как можно импортировать данные в файле csv в Интернет-магазин.
Выбираете файл, укажите поля, которые нужно подключить в магазин и нажмите кнопку запуска. Вот и все.
Поэтому, когда у меня спрашивают, как сделать обмен данными - я всегда предлагаю клиентам попробовать csv файл
.
Этот универсальный файл поможет вам во много раз ускорить все процессы управления Интернет-магазином и его наполнение контентом.
Для начала разберемся, что такое CSV файл . CSV - это текстовый формат представления табличных данных, который в переводе с английского (Comma-Separated Values ) обозначает значения, разделенные запятыми. Каждая строка такого файла CSV представляет собой одну строку таблицы, в которой содержатся все значения столбцов, которые заключены в кавычки, а разделителями значений столбцов выступают запятые. Разделителями в файле CSV могут выступать и другие символы, такие как табуляция (TSV файлы), точка запятой (SCSV файлы) и другие. В данной статье мы рассмотрим на примере, как открыть CSV файл в Excel .
При экспортировании информации из базы данных в формат CSV , ее необходимо открыть в удобочитаемом виде, например, для дальнейшего анализа, написания отчета или просмотра статистики. В этом нам поможет текстовый редактор Excel, с помощью которого мы импортируем файл CSV в Excel .
Как открыть CSV в Excel
Перейдем к примеру, в котором рассмотрим, как открыть CSV файл в Excel . Пусть у нас есть файл CSV формата , который будет выглядеть следующим образом, если его просто открыть с помощью Excel или другого текстового редактора.
Как открыть CSV в Excel - Неформатированный файл CSV в Excel
Для того чтобы представить данные из CSV файла в удобном виде, в виде таблицы, необходимо импортировать файл CSV в Excel . Разберем как вставить данные из CSV файла в открытую рабочую книгу Excel.
- Перейдите во вкладку «Данные », и в группе «Получение внешних данных » выберите пункт «Из текста ».
Как открыть CSV в Excel - Получение внешних данных из текста в Excel
- В открывшемся окне найдите в вашем компьютере CSV файл, который хотите открыть в Excel. Выберите его и нажмите кнопку «Импорт » либо дважды кликните по файлу.
Как открыть CSV в Excel - Импорт CSV файла в Excel
- Далее появится окно мастера импорта текстов.
Шаг 1. В поле «Формат исходных данных » у нас должен быть выбран пункт «с разделителями », так как в текстовом файле CSV элементы разделены запятыми .
В поле «Начать импорт со строки » мы указываем номер первой строки импортируемых данных. В нашем случае начнем с первой строки. И нажимаем кнопку «Далее ».
Как открыть CSV в Excel - Импорт CSV файла. Шаг 1
- Шаг 2. На втором этапе мы выбираем разделители и ограничители строк.
В поле «Символом-разделителем является :» мы выбираем символ, который разделяет значения в текстовом файле CSV . В нашем случае это запятая . Если в вашем CSV файле разделителями выступают другие символы, или он отсутствует в списке, то выбирайте пункт «другой :» и введите его в поле.
В поле «Ограничитель строк » мы выбираем “ . Нажимаем кнопку «Далее ».
Как открыть CSV в Excel - Импорт CSV файла. Шаг 2
Разберемся в каких случаях нужно выбирать определенный вид ограничителя строк.
Когда разделителем выступает запятая (,), а ограничитель строк - кавычки ("), текст "Иванов, бухгалтер" будет импортирован в Excel в одну ячейку как Иванов, бухгалтер. Если ограничителем строк выступает одинарная кавычка или он не задан, то текст "Иванов, бухгалтер", импортированный в Excel будет разбит на две ячейки как "Иванов", "бухгалтер ".
- Шаг 3. В группе «Формат данных столбца » задаем формат данных для каждого столбца в предпросмотре «Образец разбора данных ».
Как открыть CSV в Excel - Импорт CSV файла. Шаг 3
В случае, если какой-то столбец не нужно импортировать из CSV файла выберите пункт пропустить .
Как открыть CSV в Excel - Пропустить столбец при импорте CSV в Excel
Нажимаем кнопку «Готово ».
- После мастера импорта текста появится окно «Импорт данных »:
Как открыть CSV в Excel - Окно «Импорт данных»
В группе «Куда следует поместить данные » выбираем расположение наших импортируемых данных из CSV в Excel . Если выбираем поле «Имеющийся лист », то указываем адрес ячейки. А если хотим расположить на новом листе, то - пункт «Новый лист ». Мы выберем «Имеющийся лист ». Нажимаем кнопку «ОК ».
В итоге мы получили вот такую таблицу:
Как открыть CSV в Excel - CSV файл в Excel
Ну вот и все, теперь вы с легкостью можете открыть CSV в Excel , и далее работать с полученными табличными данными привычными инструментами MS Excel.