Министерство образования и науки Российской Федерации Государственное бюджетное учреждение высшего профессионального образования Новосибирский государственный технический университет Кафедра СИТ |
|
Расчетно-графическая работа по дисциплине «Сетевые информационные технологии» Формат данных 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. Составить тестовые наборы данных для проверки всех видов элементов данных, используемых в указанном формате.
CSV (от англ.
Comma-Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных.
Каждая строка файла — это одна строка таблицы. Значения отдельных колонок
разделяются разделительным символом (delimiter) —запятой(,
).
CSV-файл можно рассматривать как хранилище данных от приложения производителя до считывания приложением потребителя. Их основная функция заключается в хранении текстовых данных и не предназначены для двоичных данных.
CSV файл состоит из двух типов данных: полезных данных и маркеров. Полезные данные это то, что записывается в приложении производителя и считывается в приложении потребителя. Маркеры используются для организации полезных данных внутри файл CSV.
Следующие правила применяются для всех файлов CSV:
1 Расширение файла должно быть *.csv независимо от вида маркеров.
2 Данные, содержащиеся в файле должны быть 8-битными, разделенные символами 7-битной кодировки ASCII.
Это гарантирует правильное считывание файла вместе с маркерами. Три общих 8-битные кодировки: 1252, ISO / IEC 8859-1 и UTF-8.
3 Кроме маркеров ничего не должно быть записано в кодировке ASCII.
Файл CSV не предназначено для хранения двоичных данных. Это правило запрещает использование большинства управляющих символов ASCII.
4 CSV-файл должен содержать хотя бы одну запись.
CSV файл не должен быть пустым (иметь нулевую длину) или состоять только из логического конца. Минимальное количество записей, которые должен содержать CSV файл, это одна запись - заголовок, за которым может следовать 0 и более записей данных.
Запись в CSV файле состоит из двух частей: основные данные с разделителями и маркера конца записи. (рис.1)
Рисунок 1. Структура записей в CSV-файле.
CSV, как правило, используются для хранения однородных табличных данных. При просмотре в таблице, данные внутри CSV визуально расположены в несколько строк (записей) и столбцов (полей). Отсюда и термин поле столбца.
При фиксированной длине поля относительное местоположение каждого поля внутри записи должно быть фиксировано. Однако, CSV это формат файлов, который позволяет записи переменной длины. Это дает возможность сэкономить значительные пространства по сравнению с форматами фиксированной длины. Для реализации данного подхода используется маркер разделения полезных данных, который указывает на переход от одного поля к другому. Разделителем полей является один символ.
Так же присутствует запись заголовка. Поэтому очень важно, что бы поля в записи следовали в заданном порядке.
На рис.2 показано, где используются символы разделения (SEP) в записи. Вся запись может состоять только из разделителей.
Рисунок 2. Формат записи в CSV-файле.
Хотя имя файла формата Comma-Separated Values — значения, разделённые запятыми предполагает в виде разделителя полей запятую, некоторые приложения используют и другие символы.
Следующие правила применяются для разделителя:
1 Разделитель полей должен быть одним символом.
2 После выбора символа, тот же символ должен использоваться на протяжении всего файла.
3 Производитель приложение должен использовать запятую (ASCII 0x2C) в качестве разделителя полей.
Это правило поднимает один из самых сложных вопросов, с которыми сталкиваются разработчики при реализации кода для обработки файла CSV: разделители, встроенные в полезные данные.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.