Что такое CSV файл и как он помогает экспортировать и импортировать данные в Интернет-магазине? Создание и изменение CSV-файлов для импорта в Outlook Данные в формате csv

Министерство образования и науки Российской Федерации

Государственное бюджетное учреждение высшего профессионального образования

Новосибирский государственный технический университет

Кафедра СИТ

Расчетно-графическая работа

по дисциплине

«Сетевые информационные технологии»

Формат данных 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 File) представляет из себя такой файл, чьи значения будут разделенные запятыми. Считается формат CSV текстовым, он предназначен предоставлять табличные данные.

Создание файла формата.csv может быть произведено, к примеру, при помощи утилиты Nokia PC Suite в процессе экспорта пользовательских сообщений с мобильного устройства на компьютер. Строки файла CSV формата, это отдельные строки таблицы. Значение каждой отдельной колонки - это значения, разделенные запятыми. Если значения содержат зарезервированные символы, то в качестве разделителя применяются двойные кавычки. Стоит отметить, что подобный формат данных, используется большим количеством программных комплексов, некоторые из утилит применяют в роли разделителей такой вид, как точка с запятой.

Тип файла, имеющий расширение CSV, содержит информацию, которую могут импортировать в базу данных, так же подобный текстовый файл может носить данные, необходимые для организации таблиц.

CSV файл может прочесть текстовый редактор, причем в список таких редакторов, входит большинство программ, применяемых для работы с текстом и таблицами. Таким образом, открыть файл со значением формата.csv, могут такие программы, как Microsoft Excel или Corel WordPerfect Office, а также формат файла открывается утилитами LibreOffice, Apache OpenOffice и многими другими.

Файлы данных с форматом Comma Separated, отвечают за связь между разнообразными системами и способствуют передаче т обработке объёмных данных, состоящих из табличной структуры.

Если у вас уже солидная база клиентов, база заказов и соответственно детальные описания продуктов, которые вы продаете, то рано или поздно перед вами встанет проблема обмена и сбережения информации.

Возможные проблемы для рабочего Интернет-магазина:

  • Как собрать и сохранить данные клиентов?
  • Как выбрать и отфильтровать данные по заказам?
  • Как подсчитать заказы (создание выборок и различные вычисления)?
  • Как перенести описания товаров в другой Интернет-магазин или на другую базу?

По ходу работы Интернет магазина возникают новые и дополнительные вопросы.

Все эти вопросы, возможно решать, даже если у вас нет возможности изменить логику представления данных или программировать скрипты Интернет магазина.

Вы можете спросить меня - как это?

Что такое csv файл?

Это текстовый файл, в котором содержится информация, а поля разделяются специальными символами - разделителями. Поэтому и он называется Comma Separated Values - значения, разделённые запятыми.

Вообще-то в США эти файлы разделяются действительно запятыми, в странах СНГ основным разделителем есть точка с запятой, то есть ; Хотя Вы можете выбрать себе другой уникальный разделитель. Как выбрать себе уникальный разделитель - я отпишу ниже. Конечно, тут есть еще нюансы.

Этот же csv-файл может быть полезен для операций прайс-листами он-лайн магазина.

Про эти возможности я описывал в своей предыдущей статье: "Прайс лист Excel: Как удобно работать в Интернет-магазине?"

Думаю, более удобнее будет для вас показать полезность csv формата на реальных примерах.

Предположим мне нужно экспортировать все продукты Интернет-магазина для редактирования или для ознакомления.

Экспортируем данные в csv файл и сохраняем на свой ПК.

Вы видите, что браузер сам определил, что файл формата csv может быть отрыт программой Microsoft Excel.

Хорошая новость, что вам не нужен еще дополнительный инструмент для работы с файлом CSV. Чтобы открыть файл вам достаточно даже простой Блокнот или другая программа, которая может читать тексты. А для автоматического преобразования данных в файле подойдет Excel или подобная программа. Например, бесплатный пакет Open Office.

Обычно, первая строка файла - это список полей, для которых делается экспорт. Вы можете потом удалить их, чтобы они не нарушили ваши данные.

Следующие данные разбиты по строкам, причем поля отделяются разделителем - то есть специальным символом. В нашем варианте это точка с запятой.

Некоторые клиенты забывают про специальный разделитель и "попадаются" на этой детали.

Если у вас в описании товара используются такие символы, попробуйте поставить другой разделитель, который точно не будет использоваться в описании товаров. Например: * или # или другой символ.

Чтобы открыть файл, просто запустите его в Excel

Возможные проблемы в таких типах файлов могут возникать в ценах (точка и запятая) для разделения цифр.
Эти моменты решаются простой функцией автозамены значений полей.

Теперь, мы получили нужный файл, внесли в нем изменения. Например, поменяли цены для всех товаров на 20 % и хотим закачать его обратно в магазин.

Как автоматически менять цены на прайс - я описывал в свой статье .

Как это сделать - очень просто!

Большинство Интернет-магазинов или больших и серьезных программ используют промежуточный файл сохранения данных - то есть CSV файлы. Будь это 1С Бухгалтерия или Интернет-магазин.

Как закачать прайс или описание товаров в магазин?
На примере я покажу, как можно импортировать данные в файле csv в Интернет-магазин.
Выбираете файл, укажите поля, которые нужно подключить в магазин и нажмите кнопку запуска. Вот и все.

Поэтому, когда у меня спрашивают, как сделать обмен данными - я всегда предлагаю клиентам попробовать csv файл .
Этот универсальный файл поможет вам во много раз ускорить все процессы управления Интернет-магазином и его наполнение контентом.

CSV-файлы (файлы данных с разделителями-запятыми) - это файлы особого типа, которые можно создавать и редактировать в Excel. В CSV-файлах данные хранятся не в столбцах, а разделенные запятыми. Текст и числа, сохраненные в CSV-файле, можно легко переносить из одной программы в другую. Например, вы можете экспортировать контакты из Google в CSV-файл, а затем импортировать их в Outlook.

Сведения о том, как импортировать список записей календаря в Outlook, см. в статье Импорт и экспорт электронной почты, контактов и календаря Outlook .

Создание CSV-файла из другой программы или службы электронной почты другого поставщика

При экспорте контактов из другой программы, например Gmail, обычно можно выбрать один из нескольких форматов. В Gmail на выбор предлагаются CSV-файл Google, CSV-файл Outlook и файлы vCard. При экспорте данных из профиля Outlook для последующего импорта в другой профиль можно выбрать CSV-файл или файл данных Outlook (PST).

Скачивание и открытие образца CSV-файла для импорта контактов в Outlook

Вы можете создать CSV-файл вручную одним из двух способов.

Создание файла Excel и его сохранение в формате CSV

Если сведения о контактах хранятся в программе, из которой их невозможно экспортировать, вы можете ввести их вручную.

Скачивание шаблона CSV-файла

Если вы хотите начать с пустого CSV-файла, то можете скачать образец ниже.


При работе с этим CSV-файлом нужно помнить о нескольких вещах.

Изменение CSV-файла с контактами, которые нужно импортировать в Outlook

Предположим, вы хотите изменить CSV-файл, экспортированный из Outlook, а затем снова импортировать его в это приложение или другую почтовую службу. Вы можете легко сделать это с помощью Excel.

При изменении CSV-файла учитывайте перечисленные ниже моменты.

    Заголовки столбцов должны оставаться в первой строке.

    При сохранении файла в Excel несколько раз появятся запросы такого типа: "Вы действительно хотите сохранить файл в формате CSV?" Всегда выбирайте ответ "Да". Если вы выберете "Нет", файл будет сохранен в собственном формате Excel (XLSX) и его нельзя будет использовать для импорта в Outlook.

Проблема: все данные выводятся в первом столбце

Это могло произойти по нескольким причинам, поэтому можно попробовать несколько решений.


В этой статье Вы найдёте 2 простых способа преобразовать файл CSV в Excel. Кроме того, Вы узнаете, как импортировать в Excel несколько файлов CSV и как справиться с ситуациями, когда часть данных из файла CSV не отображается корректно на листе Excel.

Недавно мы начали изучать особенности формата CSV (Comma-Separated Values – значения, разделённые запятой) и различные способы преобразования файла Excel в CSV . Сегодня мы займёмся обратным процессом – импортом CSV в Excel.

Эта статья покажет Вам, как открывать CSV в Excel и как импортировать одновременно несколько файлов CSV. Мы также обозначим возможные подводные камни и предложим наиболее эффективные решения.

Как преобразовать CSV в Excel

Если Вам нужно вытащить какую-то информацию на лист Excel из базы данных Вашей компании, то первая же идея, что приходит на ум, – экспортировать базу данных в файл CSV, а затем импортировать файл CSV в Excel.

Существует 3 способа преобразования CSV в Excel: Вы можете открыть файл с расширением .csv непосредственно в Excel, дважды кликнуть по файлу в Проводнике Windows либо импортировать CSV в Excel, как внешний источник данных. Далее я подробно расскажу об этих трёх способах и укажу преимущества и недостатки каждого из них.

Как открыть файл CSV в Excel

Даже если файл CSV создан в другой программе, Вы всегда можете открыть его как книгу Excel при помощи команды Open (Открыть).

Замечание: Открытие файла CSV в Excel не изменяет формат файла. Другими словами, файл CSV при этом не будет преобразован в файл Excel (формат.xls или.xlsx), он сохранит свой изначальный тип (.csv или.txt).

Замечание: Когда Microsoft Excel открывает файл CSV, то для того, чтобы понять, как именно импортировать каждый столбец данных, он использует настройки форматирования, заданные по умолчанию.

Если данные соответствуют хотя бы одному из следующих пунктов, то воспользуйтесь Мастером импорта текстов:

Чтобы заставить Excel запустить Мастер импорта текстов, Вы можете либо изменить расширение фала с .csv на .txt (прежде чем открывать файл), либо так, как это будет описано далее.

Как открыть файл CSV при помощи Проводника Windows

Это самый быстрый способ открыть CSV в Excel. В Проводнике Windows дважды кликните по файлу .csv , и он откроется как новая книга Excel.

Однако, этот способ сработает только в том случае, если приложение Microsoft Excel установлено как программа, заданная по умолчанию, для открытия файлов .csv . Если это так, то Вы будете видеть знакомую иконку в Проводнике Windows рядом с именем файла.

Если Excel не является программой по умолчанию, вот как Вы можете это исправить:


Как импортировать CSV в Excel

Этим способом Вы можете импортировать данные из файла .csv в существующий или в новый лист Excel. В отличие от предыдущих двух способов, он не просто открывает CSV в Excel, а именно конвертирует формат .csv в .xlsx (если Вы используете Excel 2007, 2010 или 2013) или .xls (в версиях Excel 2003 и более ранних).


Прежде, чем мы двинемся дальше, пожалуйста, посмотрите на снимок экрана ниже, на нем показан исходный файл CSV и желаемый результат в Excel. Надеюсь, это поможет Вам лучше понять, почему мы выбираем те или иные параметры настроек в последующем примере.


Совет: Если в Вашем файле CSV используется последовательно более одной запятой или другого символа-разделителя, то поставьте галочку для параметра Treat consecutive delimiters as one (Считать последовательные разделители одним), чтобы избежать появления пустых ячеек.

Совет: Вы можете нажать кнопку Properties (Свойства), чтобы настроить дополнительные параметры, такие как обновление, разметка и форматирование для импортированных данных.

Замечание: Если Ваш файл CSV содержит численные данные или даты, Excel может преобразовать их с ошибками. Чтобы изменить формат импортированных данных, выберите столбец (столбцы), в которых возникли ошибки, кликните по ним правой кнопкой мыши и в контекстном меню выберите Format cells (Формат ячеек).

Преобразование CSV в Excel: проблемы и решения

Формат CSV используется уже более 30 лет, но несмотря на его длительную историю, он никогда не был официально задокументирован. Название CSV (Comma-Separated Values) возникло из-за использования запятых для разделения полей данных. Но это в теории. На самом деле, множество так называемых CSV-файлов используют другие символы для разделения данных, например:

  • Табуляция – TSV-файлы (tab-separated values)
  • Точка с запятой – SCSV-файлы (semicolon separated values)

Некоторые вариации файлов CSV разделяют поля данных одинарными или двойными кавычками, другие требуют маркер последовательности байтов из Юникода (BOM), например, UTF-8, для корректной интерпретации Юникода.

Это отсутствие стандартов порождает разнообразные проблемы, с которыми Вы можете столкнуться, пытаясь преобразовать файл Excel в CSV , и особенно, когда импортируете файл CSV в Excel. Давайте разберёмся с известными проблемами, начиная с самой распространённой.

Файл CSV отображается в Excel неправильно

Признаки: Вы пытаетесь открыть файл CSV в Excel, и все данные попадают в первый столбец.

Причина: Корень проблемы кроется в том, что в Ваших региональных и языковых настройках Windows и в Вашем файле CSV установлены различные разделители. В Северной Америке и некоторых других странах разделителем полей списка по умолчанию является запятая. В то время как в Европейских странах запятая используется как разделитель десятичных разрядов, а разделителем полей списка является точка с запятой.

Решение: Есть несколько возможных решений этой проблемы. Вы можете быстро просмотреть приведённые ниже рекомендации и выбрать наиболее подходящие для конкретно Вашей задачи.

Замечание: Все показанные решения изменяют разделитель только для данного файла CSV. Если Вы хотите раз и навсегда изменить разделитель, заданный по умолчанию, то Вам подойдёт следующее решение.

  1. Изменяем разделители в настройках региональных стандартов. Нажмите кнопку Start (Пуск) и запустите Control Panel (Панель управления), кликните пункт Region and Language (Региональные стандарты) > Additional Settings (Дополнительные параметры). Откроется диалоговое окно Customize Format (Настройка формата), в котором Вам нужно выбрать точку (.) для параметра Decimal symbol (Разделитель целой и дробной части), и установить запятую (,) для параметра List separator (Разделитель элементов списка).

Примечание переводчика: Данные настройки приведены для английской локализации Excel (и ряда других стран). Для русской локализации привычнее будет использовать запятую в качестве разделителя целой и дробной части и точку с запятой для разделения элементов списка.

Замечание: Установка в Панели управления Windows символов-разделителей целой и дробной части и элементов списка изменит настройки символов, заданные по умолчанию, для всех программ на Вашем компьютере, а не только в Microsoft Excel.

Первые нули теряются при открытии файла CSV в Excel

Признаки: Ваш файл CSV содержит значения с первыми нулями, и эти нули теряются при открытии файла CSV в Excel.

Причина: По умолчанию, Microsoft Excel отображает файл CSV в формате General (Общий), в котором первые нули отсекаются.

Решение: Вместо того, чтобы открывать файл.csv в Excel, запустите, как мы это делали ранее, Мастер импорта текстов, чтобы конвертировать файл CSV в Excel.

На шаге 3 мастера выберите столбцы, содержащие значения с первыми нулями и измените формат этих столбцов на текстовый. Так Вы конвертируете Ваш файл CSV в Excel, сохранив нули на своих местах.

Excel преобразует некоторые значения в даты при открытии файла CSV

Признаки: Некоторые значения в Вашем файле CSV похожи на даты, и Excel автоматически преобразует такие значения из текстового формата в формат даты.

Причина: Как упоминалось выше, Excel открывает файл CSV в формате General (Общий), при этом значения, похожие на даты, преобразует из текстового формата в формат даты. Например, если Вы открываете файл CSV, содержащий логины пользователей, то запись “апр23” будет преобразована в дату.

Решение: Преобразуйте файл CSV в Excel при помощи Мастера импорта текстов. На шаге 3 мастера выберите столбцы с записями, похожими на даты, и измените формат столбца на текстовый.

Если Вам нужно достичь противоположного результата, то есть в определённом столбце преобразовать значения в даты, тогда установите формат Date (Дата) и выберите подходящий формат даты в выпадающем списке.

Как импортировать в Excel несколько файлов CSV

Думаю, Вы знаете, что Microsoft Excel позволяет открывать несколько файлов CSV при помощи команды Open (Открыть).


Этот способ простой и быстрый, и мы могли бы назвать его отличным, если бы не одно обстоятельство – каждый файл CSV открывается таким образом как отдельная книга Excel. На практике переключение туда-сюда между несколькими открытыми файлами Excel может быть крайне неудобным и обременительным.

Надеюсь, теперь Вы легко сможете преобразовать любой файл CSV в Excel. Если у Вас возникают какие-либо вопросы или сложности, смело пишите мне в комментариях. И благодарю за терпение каждого, кто осилил чтение этой длинной статьи до самого конца!