NexxDigital - компьютеры и операционные системы

CSV (Comma Separated Values) – распространённый формат для хранения табличных данных (числовых и текстовых) в виде простого текста. Этот формат файлов популярен и живуч благодаря тому, что огромное количество программ и приложений понимают CSV, хотя бы как альтернативный вариант файлового формата для импорта / экспорта. Более того, формат CSV позволяет пользователю заглянуть в файл и немедленно найти проблему с данными, если таковая имеется, изменить разделитель CSV, правила цитирования и так далее. Это возможно потому, что CSV – это простой текст, и даже не очень опытный пользователь, сможет легко его понять без специальной подготовки.

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

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

Если требуется экспортировать файл Excel в какое-либо другое приложение, например, в адресную книгу Outlook или в базу данных Access, предварительно преобразуйте лист Excel в файл CSV, а затем импортируйте файл .csv в другое приложение. Ниже дано пошаговое руководство, как экспортировать рабочую книгу Excel в формат CSV при помощи инструмента Excel – «Сохранить как ».

Замечание: Все упомянутые форматы сохраняют только активный лист Excel.


Экспортируем из Excel в CSV с кодировкой UTF-8 или UTF-16

Если на листе Excel содержатся какие-либо специальные или иностранные символы (тильда, ударение и подобные) или иероглифы, то преобразование листа Excel в CSV описанным выше способом не сработает.

Дело в том, что команда Сохранить как > CSV (Save as > CSV) исказит все символы, кроме ASCII (American Standard Code for Information Interchange). И если на листе Excel есть парные кавычки или длинные тире (перенесённые в Excel, например, из документа Word при копировании / вставке текста) – такие символы также будут искромсаны.

  • UTF-8 – это более компактная кодировка, использующая для каждого символа от 1 до 4 байт. Чаще всего рекомендуется использовать этот формат, когда символы ASCII преобладают в файле, т.к. большинство таких символов требует 1 байт памяти. Ещё одно преимущество в том, что кодировка файла UTF-8, содержащего только символы ASCII, ничем не будет отличаться от такого же ASCII-файла.
  • UTF-16 использует от 2 до 4 байт для хранения каждого символа. Учтите, что не во всех случаях файл UTF-16 требует больше места в памяти, чем файл UTF-8. Например, японские символы занимают от 3 до 4 байт в UTF-8 и от 2 до 4 байт в UTF-16. Таким образом, есть смысл использовать UTF-16, если данные содержат азиатские символы, в том числе Японские, Китайские и Корейские. Существенный недостаток этой кодировки в том, что она не полностью совместима с ASCII-файлами и требуются специальные программы для отображения таких файлов. Помните об этом, если планируете импортировать получившиеся файлы из Excel куда-то ещё.

Как преобразовать файл Excel в CSV UTF-8

Предположим, у нас есть лист Excel с иностранными символами, в нашем примере – это японские имена.

Чтобы экспортировать этот лист Excel в файл CSV, сохранив при этом все иероглифы, сделаем следующее:


Замечание: Не все простые текстовые редакторы полностью поддерживают символы Юникод, поэтому некоторые из них могут отображаться как прямоугольники. В большинстве случаев, это никак не повлияет на итоговый файл, и можно просто не обращать на это внимание или выбрать более продвинутый редактор, например, Notepad++.

  1. Так как в нашем текстовом Юникод файле в качестве разделителей используется символ табуляции, а мы хотим преобразовать его в CSV (разделители – запятые), то необходимо заменить символы табуляции на запятые.

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

Замечание: Если Ваш файл предназначен для использования за пределами Excel и формат UTF-8 является обязательным требованием, то не совершайте на листе никаких изменений и не сохраняйте его снова в Excel, поскольку это может привести к проблемам с чтением кодировки. Если какая-то часть данных не отображается в Excel, откройте тот же файл в Блокноте и в нём внесите исправления в данные. Не забудьте снова сохранить файл в формате UTF-8.

Как преобразовать файл Excel в CSV UTF-16

Экспортировать в файл CSV UTF-16 намного быстрее и проще, чем в UTF-8. Дело в том, что Excel автоматически применяет формат UTF-16 при сохранении файла как Текст Юникод (Unicode Text).

Для этого сохраняем файл при помощи инструмента Сохранить как (Save as) в Excel и затем в Проводнике Windows изменяем расширение созданного файла на .csv . Готово!

Если нужен файл CSV с запятой или точкой с запятой в качестве разделителя, замените все символы табуляции на запятые или точки с запятой соответственно в Блокноте или в любом другом текстовом редакторе на свой выбор (ранее в этой статье есть подробная инструкция, как это делается).

Другие способы преобразования файлов Excel в CSV

Описанные выше способы экспорта данных из Excel в CSV (UTF-8 и UTF-16) универсальны, т.е. подойдут для работы с любыми специальными символами и в любой версии Excel от 2003 до 2013.

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

Преобразуем файл Excel в CSV при помощи Таблиц Google

Как оказалось, можно очень просто преобразовать файл Excel в CSV при помощи Таблиц Google. При условии, что на Вашем компьютере уже установлен Google Drive , выполните следующие 5 простых шагов:

Совет: Если файл Excel относительно небольшой, то для экономии времени можно перенести из него данные в таблицу Google при помощи копирования / вставки.


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

Сохраняем файл.xlsx как.xls и затем преобразуем в файл CSV

Для этого способа не требуется каких-либо дополнительных комментариев, так как из названия уже всё ясно.

Это решение я нашёл на одном из форумов, посвящённых Excel, уже не помню, на каком именно. Честно говоря, я никогда не использовал этот способ, но, по отзывам множества пользователей, некоторые специальные символы теряются, если сохранять непосредственно из .xlsx в .csv , но остаются, если сначала .xlsx сохранить как .xls , и затем как .csv , как мы .

Так или иначе, попробуйте сами такой способ создания файлов CSV из Excel, и если получится, то это будет хорошая экономия времени.

Сохраняем файл Excel как CSV при помощи OpenOffice

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

Просто открываем файл Excel в OpenOffice Calc, нажимаем Файл > Сохранить как (File > Save as) и выбираем тип файла Текст CSV (Text CSV).

На следующем шаге предлагается выбрать значения параметров Кодировка (Character sets) и Разделитель поля (Field delimiter). Разумеется, если мы хотим создать файл CSV UTF-8 с запятыми в качестве разделителей, то выбираем UTF-8 и вписываем запятую (,) в соответствующих полях. Параметр Разделитель текста (Text delimiter) обычно оставляют без изменения – кавычки (“). Далее нажимаем ОК .

Таким же образом для быстрого и безболезненного преобразования из Excel в CSV можно использовать ещё одно приложение – LibreOffice . Согласитесь, было бы здорово, если бы Microsoft Excel предоставил возможность так же настраивать параметры при создании файлов CSV.

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

Предназначенный для представления табличных данных. Каждая строка файла - это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (delimiter) - запятой (,). Однако, большинство программ вольно трактует стандарт CSV и допускают использование иных символов в качестве разделителя. В частности в локалях , где десятичным разделителем является запятая, в качестве табличного разделителя, как правило, используется точка с запятой. Значения, содержащие зарезервированные символы (запятая, точка с запятой, новая строка) обрамляются двойными кавычками ("); если в значении встречаются кавычки - они представляются в файле в виде двух кавычек подряд. Строки разделяются парой символов CR LF (0x0D 0x0A) (в DOS и Windows эта пара генерируется нажатием клавиши Enter). Однако конкретные реализации могут использовать другие общепринятые разделители строк, например LF (0x0A) в UNIX .

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

Пример

Исходный текст:

1997,Ford,E350,"ac, abs, moon",3000.00 1999,Chevy,"Venture ""Extended Edition""","",4900.00 1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00

Результирующая таблица:

Для русифицированного Microsoft Excel (в системах, на которых разделителем списка установлена запятая) исходный текст будет выглядеть так:

1965;Пиксел;E240 – формальдегид (опасный консервант)!;"красный, зелёный, битый";3000,00 1965;Мышка;"А правильней ""Использовать Ёлочки""";;4900,00 "Н/д";Кнопка;Сочетания клавиш;"MUST USE! Ctrl, Alt, Shift";4799,00

Результирующая таблица:

Программы для редактирования CSV-файлов: Microsoft Excel, Numbers, ТаблицаПро, CSVed, OpenOffice.org Calc , KSpread , Google Docs . Импорт и экспорт CSV-файлов возможен во многих инженерных пакетах, например, ANSYS и LabVIEW . Также CSV-файлы создаёт Nokia PC Suite при копировании SMS -сообщений c мобильного телефона на компьютер.

См. также

Ссылки

  • CSV-1203 (English) (англ.)
  • RFC 4180, спецификация (англ.)

Wikimedia Foundation . 2010 .

  • Гамма (буква)

Смотреть что такое "CSV" в других словарях:

    CSV - Saltar a navegación, búsqueda Para otros usos de este término, véase CSV (desambiguación). Los ficheros CSV (del inglés comma separated values) son un tipo de documento en formato abierto sencillo para representar datos en forma de tabla, en las… … Wikipedia Español

    CSV - may refer to: Clerics of Saint Viator Common Stored Value Ticket Confederación Sudamericana de Voleibol Character Strengths and Virtues Christian Social People s Party Community Service Volunteers GM U platform, a minivan made by General Motors… … Wikipedia

    Csv - steht für: Certified Server Validation, eine vorgeschlagene technische Methode zur Spam Vermeidung Character Separated Values oder Comma Separated Values, siehe CSV (Dateiformat) Chrëschtlech Sozial Vollekspartei (Christlich Soziale Volkspartei) … Deutsch Wikipedia

    CSV - formatas statusas T sritis informatika apibrėžtis Duomenų bazės laukų įrašymo tekstiniu formatu būdas, kai duomenų laukai skiriami kableliais. Naują įrašą atitinka nauja eilutė. CSV formatas dažnai naudojamas adresų knygos duomenims, programos… … Enciklopedinis kompiuterijos žodynas

    .csv - , Erweiterung für eine ASCII Datei, die Daten aus einer Datenbankdatei enthält (Comma separated Values) … Universal-Lexikon

    CSV - (Comma Separated Values) (Computers) file format used for storing database information in ASCII format (each entry or field is separated by a comma and each new row is represented by a new line) … English contemporary dictionary

    .csv - Das Dateiformat CSV beschreibt den Aufbau einer Textdatei zur Speicherung oder zum Austausch einfach strukturierter Daten. Die Dateiendung CSV ist eine Abkürzung für Comma Separated Values (seltener Character Separated Values oder Colon Separated … Deutsch Wikipedia

    CSV - Die Abkürzung CSV steht für: Certified Server Validation, eine vorgeschlagene technische Methode zur Spam Vermeidung Comma Separated Values oder Character Separated Values, ein Dateiformat, siehe CSV (Dateiformat) Christlich Soziale Volkspartei… … Deutsch Wikipedia

    CSV - cash surrender value (CSV) The amount of cash that can be obtained by the policy owner upon cancellation of a whole life insurance policy. CSV may also be borrowed by the policy owner. Only certain kinds of life insurance policies have cash… … Financial and business terms

    CSV - Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français

Книги

  • Python. Создание приложений. Библиотека профессионала , Уэсли Дж. Чан , Вы уже знаете язык Python, но хотите узнать больше? Намного больше? Погрузитесь в разнообразие тем, связанных с реальными приложениями.Книга охватывает регулярные выражения, сетевое… Категория: Информационные технологии Серия: Библиотека профессионала Издатель: ДИАЛЕКТИКА , Производитель:

Среди прикладных задач, с которыми сталкивается если не программист, то уже продвинутый пользователь, импорт данных из одного приложения в другое встречается не так уж редко. И довольно часто приходится импортировать табличные данные, для чего, собственно, и был придуман формат CSV. Сейчас разработано уже несколько альтернативных решений (лидирует среди них XML). Но создание файла CSV в некоторых случаях остается самым удобным решением, а некоторых - самым проблематичным.

Расшифровывается название формата как commaseparatedvalues - разделенные В Блокноте файл выглядит следующим образом:

16, 27, 33, 06 (в самом конце знак ставить не обязательно)

А в таблице Excel или похожего приложения уже так:

00 01 02 03
01 15 34 11
16 27 33 06

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

Вообще, проблемы, возникающие при импорте данных через CSV, можно разделить на три категории:

1 - Некорректное заполнение полей.

2 - Неправильное преобразование данных при сохранении файла в CSV.

3 - Неправильное распознавание формата программой-импортером.

Первый случай мы уже частично рассмотрели. Чтобы бороться с проблемой, необходимо предусмотреть средства контроля правильности вводимых данных. Например, если вам необходимо собрать базу данных адресов для почтовой рассылки, существуют специальные скрипты, которые проверяют, ввел ли человек свой e-mail в нужном формате. Там, где есть пробелы, запятые и любые другие данные, которые могут считываться неверно, содержимое поля необходимо заключить в кавычки (так называемые компьютерные “ ”).

Второй случай связан с выбором кодировки. Необходимо выяснить, зачастую опытным путем, какую кодировку предпочтет программа-импортер. В Windows повсеместно применяется 1251, поэтому если в исходном файле встретится текст в Unicode, он будет отображаться в приложении-получателе как цепочки вопросов. В Excel есть возможность сохранять в формат CSV с различной кодировкой и разделителями (кроме запятой еще используется табуляция и точка с запятой), но лучше всего создавать файл в Notepad++ или OpenOfficeCalc.

Третий случай - следствие второго. Исторически сложилось, что формат CSV не имеет единого стандарта. Многие программы воспринимают как CSV также файлы форматов TSV (разделение табуляцией) и SCSV (разделение точкой с запятой), в частности потому, что расширение файла об этом не сообщает. При этом данные считываются ошибочно и не распределяются по ячейкам в нужном порядке. Лучшее, что можно посоветовать - создавать CSV файл собственноручно. Как уже говорилось, для этого нужно воспользоваться удобным редактором.

Хитрости того, как укротить формат 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: разделители, встроенные в полезные данные.



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
NexxDigital - компьютеры и операционные системы