Формат файла где структурированные данные записаны через запятую

Обновлено: 05.07.2024

CSV – популярное расширение файлов, которые используются, в основном, для обмена данными между различными компьютерными программами. Чаще всего необходимости в открытии и редактировании таких документов нет. Однако в некоторых случаях перед пользователями может встать такая задача. Программа Excel позволяет это сделать, но в отличие от стандартных файлов в формате XLS и XLSX, простое открытие документа двойным щелчком мыши не всегда дает качественный результат, что может выражаться в некорректном отображении информации. Давайте посмотрим, каким образом можно открыть файлы с расширением CSV в Экселе.

Открываем CSV-файлы

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

CSV – аббревиатура, которая расшифровывается как “Comma-Separated Values” (на русском языке означает “значения, разделенные запятыми”).

Как следует из названия, в таких документах используются разделители:

  • запятая – в англоязычных версиях;
  • точка с запятой – в русскоязычных версиях программы.

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

Метод 1: двойным щелчком или через контекстное меню

Прежде, чем приступить к более сложным методам, давайте рассмотрим самый простой. Он применим только в тех случаях, когда файл был создан/сохранен и открывается в одной и той же версии программы, а значит, проблем с кодировкой и разделителями быть не должно. Здесь возможно два варианта, опишем их ниже.

Excel установлена как программа по умолчанию для открытия CSV-файлов

Если это так, открыть документ можно как и любой другой файл – достаточно просто дважды щелкнуть по нему.

Открытие файла двойным щелчком мыши в Windows

Для открытия CSV-фалов назначена другая программа или не назначена вовсе

Алгоритм действия в таких ситуациях следующий (на примере Windows 10):

    Щелкаем правой кнопкой мыши по файлу и в открывшемся контекстном меню останавливаемся на команде “Открыть с помощью”.

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

Открытый в Эксель файл в формате CSV

В остальных случаях может показываться нечто подобное:

Некорректное отображение содержимого файла CSV в Эксель

Поэтому описанный метод подходит не всегда, и мы переходим к следующим.

Метод 2: применяем Мастер текстов

Воспользуемся интегрированным в программу инструментом – Мастером текстов:

Запуск Мастера текста в Эксель

    Открыв программу и создав новый лист, чтобы получить доступ ко всем функциям и инструментам рабочей среды, переключаемся во вкладку “Данные”, где щелкаем по кнопке “Получение внешних данных”. Среди раскрывшихся вариантов выбираем “Из текста”.

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

Метод 3: через меню “Файл”

И последний метод, которым можно воспользоваться заключается в следующем:

Заключение

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

CSV-файл в Python означает «значения, разделенные запятыми» и определяется как простой формат файла, использующий определенную структуру для упорядочивания табличных данных. Он хранит табличные данные, такие как электронная таблица или база данных, в виде обычного текста и имеет общий формат для обмена данными. Файл csv открывается на листе Excel, а данные строк и столбцов определяют стандартный формат.

Узнаем, как осуществляется чтение и запись CSV-файлов в Python.

Функции модуля Python CSV

Модуль CSV используется для обработки файлов CSV для чтения / записи и получения данных из указанных столбцов. Существуют следующие типы функций CSV:

Чтение файлов CSV

Python предоставляет различные функции для чтения файла CSV. Опишем несколько методов для чтения.

В Python модуль csv.reader() используется для чтения файла csv. Он берет каждую строку файла и составляет список всех столбцов.

Мы взяли текстовый файл с именем python.txt, в котором есть разделитель по умолчанию(,) со следующими данными:

В приведенном выше коде мы открыли python.csv с помощью функции open(). Мы использовали функцию csv.reader() для чтения файла, который возвращает итеративный объект чтения. Объект чтения состоял из данных, и мы повторили цикл, используя цикл for, чтобы распечатать содержимое каждой строки.

Чтение CSV в словаре

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

Чтение с помощью Pandas

Pandas определяется как библиотека с открытым исходным кодом, которая построена на основе библиотеки NumPy. Он обеспечивает быстрый анализ, очистку данных и подготовку данных для пользователя.

Чтение файла csv в pandas DataFrame выполняется быстро и просто. Нам не нужно писать достаточно строк кода, чтобы открывать, анализировать и читать файл csv в pandas, и он хранит данные в DataFrame.

Здесь мы берем для чтения немного более сложный файл под названием hrdata.csv, который содержит данные сотрудников компании.

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

Запись файлов CSV

Мы также можем не только читать, но и писать любые новые и существующие файлы CSV. Запись файлов на Python осуществляется с помощью модуля csv.writer(). Он похож на модуль csv.reader() и также имеет два метода, то есть функцию записи или класс Dict Writer.

Он представляет две функции: writerow() и writerows(). Функция writerow() записывает только одну строку, а функция writerows() записывает более одной строки.

Диалекты

Они определяются как конструкция, которая позволяет создавать, хранить и повторно использовать различные параметры форматирования. Диалект поддерживает несколько атрибутов; наиболее часто используются:

Запишем следующие данные в файл CSV.

Он возвращает файл с именем Python.csv, который содержит следующие данные:

Запись CSV в словарь

Мы также можем использовать класс DictWriter для записи файла CSV непосредственно в словарь.

CSV формат

CSV (не путать с CVS) — это формат для представления прямоугольного массива (матрицы) числовых и текстовых значений. Это пример формата «плоского файла».

Общее описание формата csv

Поля, содержащие специальный символ (запятая, CR, LF или двойные кавычки), «экранированы», путем заключения в двойные кавычки (Hex 22). Необязательная строка заголовка отображается как первая строка документа в том же формате, что и обычные строки записи. Этот заголовок будет содержать имена, соответствующие полям в документе, и должен содержать то же количество полей, что и записи в остальной части документа.

CSV использует US-ASCII в качестве набора символов, но разрешены другие наборы символов. Иногда файл CVS и CSV путают.

Важная информация о редактировании файлов csv

CSV формат файла: инструкция по работе с расширением

  • Вся система выходит из строя, если в строке стоит пропущенная или лишняя запятая. Каждое значение после этого отсутствующего или лишнего поля данных будет введено в неправильный столбец. В худшем случае база данных может быть повреждена настолько серьезно, что потребуется вернуться к версии резервной копии, что приведет к потере самых последних изменений данных и проблем для администратора, поэтому важно поддерживать файловую структуру.
  • Столбцы в вашем CSV-файле могут появляться в любом порядке, если эта последовательность сохраняется. Другими словами, порядок, в котором заголовки столбцов появляются в первой строке, должен повторяться в последующих строках данных, чтобы данные в каждом поле можно было сопоставить с правильным столбцом.
  • У вас есть возможность опустить любые столбцы, в которых не хотите добавлять или редактировать данные, если только этот столбец не требуется для инструмента загрузки данных, базы данных или правил конфигурации сайта. На самом деле рекомендуется опускать ненужные столбцы, чтобы упростить структуру файла данных и снизить вероятность появления ошибок в ненужном столбце. Нельзя пропустить поля, необходимые для инструмента «Загрузить данные», но можно опустить поля, необходимые для базы данных, при условии, что значение по умолчанию подходит для всех записей, которые вы добавляете или редактируете. Если значение по умолчанию не подходит ни для одной из записей в вашем файле данных, необходимо включить этот столбец и указать соответствующие значения для этих записей.
  • Поля назначения в базе данных хранят различные версии значений, представленных на веб-страницах. Например, пользовательская цель «Представитель компании» хранится в базе данных как «company_rep». Значения сопоставляются друг с другом и преобразуются по мере загрузки и выгрузки данных из базы данных. Возможно, будет проще использовать значение базы данных, которое можно увидеть, при загрузке файла данных CSV по ссылкам в верхней части файла данных для загрузки.
Рекомендуем к прочтению → Browser plugins: особенности и способы установки плагинов в браузерах

Как структурированы csv файлы

CSV формат файла: инструкция по работе с расширением

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

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

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

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

Большинство значений заключено в двойные кавычки. Исключением является односимвольное значение, например 1 или 0 (ноль). Заключение значения в двойные кавычки позволяет использовать в поле сложные значения, например, содержащие запятые, без нарушения структуры документа. Например, поле, содержащее ряд элементов, например избранные цвета, может иметь такое значение:

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

Как и чем открыть файл csv расширения

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

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

Программы для работы с CSV

Файл CSV можно открыть в любой программе, однако для большинства пользователей CSV формат лучше всего просматривать в программе для работы с электронными таблицами, например в Microsoft Excel, OpenOffice Calc или Google Docs.

Рекомендуем к прочтению → Меняем тему Яндекс браузера с помощью галереи фонов

Microsoft excel

CSV формат файла: инструкция по работе с расширением

Microsoft Excel — полезная программа для анализа данных и документации. Это программа для работы с электронными таблицами, которая содержит ряд столбцов и строк, где каждое пересечение столбца и строки является «ячейкой». Каждая ячейка содержит одну точку данных или одну часть информации. Организуя хранение данных таким образом, вы упростите поиск информации и получите возможность автоматически извлекать информацию из изменяющихся данных.

Открытие csv сразу с разделением столбцов в эксель

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

Вы можете либо щелкнуть файл правой кнопкой мыши и открыть его в Excel, либо перейти к файлу из Excel и открыть его напрямую.

После открытия использовуйте пункт меню «Данные → текст в столбцы» для преобразования. Выберите «по разделителю» в поле выбора и используйте запятую в качестве единственного разделителя убедитесь, что это единственный отмеченный пункт.

Ручной метод превращения таблицы эксель в CSV файл

Libreoffice calc

CSV формат файла: инструкция по работе с расширением

LibreOffice — это бесплатный полнофункциональный пакет офисных приложений. Его родным файловым форматом является Open Document Format (ODF), открытый стандартный формат, который принимается правительствами во всем мире в качестве необходимого формата файлов для публикации и приема документов. LibreOffice также может открывать и сохранять документы во многих других форматах, включая те, которые используются в нескольких версиях Microsoft Office, в том числе и CSV.

Openoffice calc

CSV формат файла: инструкция по работе с расширением

Apache OpenOffice — это офисный программный пакет с открытым исходным кодом для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого. Он доступен на многих языках и работает на всех распространенных компьютерах. Он хранит все ваши данные в международном формате открытого стандарта, а также может читать и записывать файлы из других распространенных пакетов офисного программного обеспечения. Его можно скачать и использовать совершенно бесплатно для любых целей.

Блокнот

CSV формат файла: инструкция по работе с расширением

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

Notepad++

Notepad ++ — это бесплатный текстовый редактор для Microsoft Windows, который предоставляет дополнительные функции, которых нет в стандартном текстовом редакторе Windows, Блокноте. Впервые он был выпущен 24 ноября 2003 года разработчиком Дэном Хо и все еще находится в активной разработке.

Рекомендуем к прочтению → Как в экселе пронумеровать строки автоматически: пошаговая инструкция

Notepad ++ специально разработан для редактирования исходного кода. «++» в названии — это ссылка на оператор в таких языках программирования, как C, C ++, Java и JavaScript.

Safari

CSV формат файла: инструкция по работе с расширением

Safari — это интернет-браузер, который был впервые представлен 30 июня 2003 года и поддерживается на операционных системах Apple MacOS X и IOS.

Microsoft outlook

CSV формат файла: инструкция по работе с расширением

Microsoft Outlook — это приложение для управления электронной почтой и задачами, которое доступно в большинстве версий Microsoft Office. Впервые он был выпущен с Exchange Server 5.5 как связанная программа, а затем интегрирован в качестве основного приложения с пакетом Microsoft Office 97 и последующими версиями.

Просмотр формата csv онлайн

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

  1. Excel Online
  2. Google Docs
  3. Online CSV Editor

Открываем расширение csv на android

Для того, чтобы открыть расширение CSV формата на смартфоне под управлением Android, необходимо найти в Play Market подходящую программу, поддерживающую этот формат. Вот список самых распространенных из них:

  1. dr.fone
  2. Cool master Android assistant
  3. Mobikin Assistant
  4. Documento Office
  5. CSV Viewer

Решение проблем с файлами csv

Проблема 1: Сталкиваюсь с ошибками преобразования набора символов.

Используйте программу uconv для устранения ошибок при преобразовании набора символов.

Проблема 2: Что делают эти посторонние управляющие символы?

Используйте эту команду Perl, чтобы удалить эти символы, пропустив через нее файл:

Проблема 3: Не знаю, как обращаться со значениями NULL.

Сделайте осознанный выбор того, как хотите обрабатывать значения NULL. Обычно \ N используется для представления значений NULL в данных. А если есть пустые строки, используйте два последовательных разделителя (например, ,,), чтобы указать, что поле не содержит данных.

Обратите внимание, что у Postgres есть некоторые проблемы с импортом этих типов файлов, если они содержат значения NULL. Postgres не позволит указать значение NULL как пустую строку (,,). Обычно это хороший способ представления NULL, но он не будет правильно импортирован как NULL в Postgres.Необходимо использовать явный указатель NULL, например \ N, поэтому, если вас действительно волнуют значения NULL, вы должны использовать \ N.

Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы – предварительно выбрав нужный сайт в списке.

Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.

проблемы с кодировкой в Google Таблицы при открытии экспортируемого CSV файла в кодировке UTF-8

Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .

CSV с разделителем запятая в UTF-8

Проблема с кодировкой

преобразование кодировки файла в Notepad++ и удаление BOM

У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 – но, думаю, вы это и сами заметилии, а принцип тот же.

Разделитель запятая в CSV

Теперь, что касается разделителя запятой. По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:

значение,1,"значение, с запятой",

изменения разделителя элементов списка в настройках операционной системы Windows

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

То, что помогло

Увы, но какой-то дополнительной обработки файлов с расширением .csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на .txt . Так что меняем расширение файла и открываем его в Excel.

выбор формата исходных данных, начальной строки импорта и кодировки файла в мастере текстов MS Excel

выбор символа-разделителя и символа ограничителя строк в мастере текстов MS Excel

выбор формата данных столбцов и их пропуск в мастере текстов MS Excel

Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.

Онлайн сервис для нормализации CSV-файлов

Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV. Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением .csv .

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

Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.

Подведём итоги

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

Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на .txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV, правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!

Сейчас в инете дофига различный csv конверторов, которые всё это понимают и настраивают. Да и софта такого рода хватает.

23 января 2014 г., 13:21 Удалить комментарий

Константин Кирилюк

@Максим безусловно, вариантов решения данной проблемы существует достаточно много. В тоже время, практика показывает, что люди склонный использовать то, что есть под рукой и чем оно проще тем лучше. В случае с Normalization CSV мы имеем не столько csv конвертор, сколько нормализатор, который работает исходя из особенностей экспорта данных онлайн сервисов, в частности Google инструмента для веб-мастеров.

23 января 2014 г., 15:25 Удалить комментарий

@Константин Кирилюк если судить по показателям соцкнопочек, то люди выбирают не самые простые решения и отдают предпочтение перекодированию, переименовыванию и мастертекстовованию :-)

29 января 2014 г., 19:10 Удалить комментарий

Константин Кирилюк

@Максим ну, не всё так сразу. К тому же популяризацией своего сервиса я не занимался, да и не стремлюсь. несколько опасаюсь нагрузок. Так что пусть используют вот такие, далеко не простые решения, а кому надо могут воспользоваться и сервисом.

30 января 2014 г., 10:42 Удалить комментарий

1 февраля 2014 г., 5:21 Удалить комментарий

Константин Кирилюк

@Максим да, была такая проблема. Пытался и так и эдак, но пришлось заменить этот символ на знак вопроса. Это самый оптимальный вариант, который я вижу на данный момент. Как я понял проблема в iconv мутках.

1 февраля 2014 г., 6:09 Удалить комментарий

28 августа 2014 г., 11:52 Удалить комментарий

3 сентября 2014 г., 11:52 Удалить комментарий

Константин, большое спасибо

25 октября 2015 г., 22:23 Удалить комментарий

вот это очень помогло. спасибо анониму от анонима! большое спасибо!

12 августа 2016 г., 16:36 Удалить комментарий

чувак, отличная публикация. благодарю

1 сентября 2016 г., 18:31 Удалить комментарий

Огромное спасибо, статья очень выручила! :)

25 сентября 2016 г., 12:27 Удалить комментарий

15 декабря 2016 г., 22:31 Удалить комментарий

Иван Быков

22 февраля 2017 г., 12:05 Удалить комментарий

Помог понять (потому что подробно изложил)! Спасибо.

7 мая 2017 г., 7:32 Удалить комментарий

В Notepad++ я записал макрос с такими действиями:
1. Найти все запятые , и заменить на точку с запятой ;
2. Найти все точки . и заменить их на запятые ,
3. Сохранить файл
Теперь любой "некирилличный" CSV преобразовывается одной командой и потом нормально открывается в Excel без изменений региональных настроек.

Читайте также: