Как работать с CSV-файлами

Обновлено: 21.11.2024

CSV означает значения, разделенные запятыми, когда данные хранятся в простом текстовом файле, разделенном запятыми. Вы узнаете, что имеете дело с файлами CSV, если расширение файла .csv, например myData.csv (это также зависит от того, есть ли у вас настройки ОС, чтобы вы могли видеть, какой тип файла) или если вы открываете файл в текстовом редакторе и обратите внимание, что данные разделены запятой. Если вы используете Excel достаточно долго, работа с файлами CSV неизбежна.

Вот простой пример того, как выглядит CSV-файл, если открыть его в текстовом редакторе (предпочтительно в Sublime Text, самом лучшем текстовом редакторе).

Когда вы открываете этот файл в Excel, данные переносятся в ячейки и разделяются запятой, что выглядит примерно так:

Имя Возраст
Кайл 25
Лесли 30

Это основные сведения о CSV-файлах, но есть и кое-что еще, о чем мы вскоре расскажем.

Работа с CSV-файлами

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

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

Если у вас есть файл CSV, вы можете без особых проблем открыть его в Excel. Просто откройте Excel, нажмите «Открыть» и найдите файл CSV для работы (или щелкните файл CSV правой кнопкой мыши и выберите «Открыть в Excel»). Открыв файл, вы заметите, что данные представляют собой обычный текст, помещенный в разные ячейки.

Сохранение файла CSV

Если вы хотите сохранить текущую книгу в файл CSV, вам нужно использовать «Файл» -> «Сохранить как…» и выбрать файл CSV. Чаще всего вы получите это предупреждение:

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

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

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

Имейте в виду, что ваши форматы никогда не будут сохранены в файлах CSV.

Эта статья поможет вам? Если да, поддержите меня чашечкой кофе ☕️

Почему CSV-файлы?

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

Однако, поскольку формат файла CSV чрезвычайно прост и легковесен (намного проще, чем файлы XLS*), его легче поддерживать различным приложениям. В его основном использовании у вас есть строка текста, где каждый столбец данных разделен запятой. Вот и все. И из-за этой простоты разработчикам легко создавать функции экспорта/импорта с файлами CSV для передачи данных между приложениями вместо более сложных форматов файлов.

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

Например, что если в ваших данных есть запятая? Как вы это отделяете? Как насчет разрывов строк (например, Alt+Enter)?

Преодоление сложности данных

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

Что делать, если в данных есть запятые?

Представьте, что у вас есть эти данные:

Книга Описание
Звездные войны Давным-давно в далекой-далекой галактике…
Какого цвета твой парашют? На сегодняшнем сложном рынке труда время- проверенный совет Какого цвета ваш парашют? нужен как никогда раньше.

Если вы возьмете эти данные и поместите их в файл CSV, это будет выглядеть так:

Однако, если вы импортируете это в Excel, это будет выглядеть так:

Как видите, хотя нам нужны данные только в столбцах A и B, некоторые данные вошли в столбец C. Это связано с наличием запятых в данных. Так как же нам обойти это?

Общепринятым решением является заключение данных в кавычки.

Вот как новый файл данных выглядит в текстовом редакторе, где элементы данных, содержащие запятую, заключены в кавычки:

И когда вы откроете его в Excel:

Ну вот. Теперь данные находятся только в столбцах A и B, как мы и предполагали.

Что делать, если в одной из строк есть новая строка?

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

Вы видите новую строку в ячейке B2, но как она будет выглядеть в CSV-файле?

Если вы сохраните книгу в формате CSV, а затем откроете этот файл в текстовом редакторе, вы увидите, что произойдет:

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

Что делать, если в моих данных есть кавычки?

В этот момент у вас может возникнуть вопрос: «Что произойдет, если в моих данных будет цитата?» Это хороший вопрос, и ответ на него может быть вам знаком, если вам когда-либо приходилось ставить кавычки в выводе формулы.

Если ваши данные еще не заключены в кавычки, вы можете просто добавить кавычки. Однако если вы заключаете данные в кавычки из-за того, что в них есть запятая, вам нужно «избежать» кавычки, добавив еще одну кавычку.

Вот несколько примеров:

А вот результат в Excel:

Давайте разберем каждый пункт:

Это только заголовки. Ничего страшного.

Первая строка данных. Во втором столбце «цитата» находится внутри данных, и Excel понимает, что интерпретирует ее буквально при обработке файла. Вот почему вы увидите, что цитата действительно попадает в ячейку в ячейке B2.

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

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

В этом последнем примере показано, как добавить цитату во второй столбец, в котором также есть запятая. Поэтому нам нужно добавить инкапсулирующие кавычки для запятой, чтобы Excel не разделял данные, и нам также нужно добавить экранирующую кавычку, чтобы Excel не думал, что данные закончены до слова «цитата».< /p>

Разные разделители в файлах CSV

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

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

Я видел следующие типичные символы для разделителя в других приложениях:

Мне больше всего нравится использовать трубку | персонаж. Его легко увидеть, и он почти никогда не используется в данных (если только вы не сохраняете фрагменты команд PowerShell), что делает его уникальным выбором для сохранения в CSV.

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

Разделитель явно труба | персонаж. Но если бы вы открыли это в Excel, это выглядело бы так:

Обратите внимание, что все данные находятся в столбце А? Это связано с тем, что Excel не находит запятую для разделения значений, которая является разделителем по умолчанию. Чтобы указать Excel использовать другой разделитель, вы должны добавить специальную строку в начале файла:

Добавив строку:

Мы указываем Excel использовать вертикальную черту | символ в качестве разделителя (sep = разделитель).

Теперь, когда мы открываем файл, он выглядит так:

Поэтому, если вы когда-нибудь столкнетесь с проблемой при открытии CSV-файла, проверьте файл в текстовом редакторе и посмотрите, есть ли там эта специальная строка.

Подведение итогов

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

Если вы хотите узнать больше или думаете, что я что-то упустил, дайте мне знать в комментариях ниже!

Вау, вы прочитали всю статью! Вы знаете, люди, которые заходят так далеко, являются настоящими учениками. И очевидно, вы цените обучение. Хотите узнать больше об Excel? Пожалуйста, поддержите меня, купив мне кофе (чтобы написать эти статьи, нужно много кофе!).

В этой статье объясняется, как загружать и анализировать файл CSV в Python.
Во-первых, что такое CSV?
CSV (значения, разделенные запятыми) – это простой формат файлов, используемый для хранения табличных данных, таких как электронные таблицы или базы данных. В файле CSV табличные данные (числа и текст) хранятся в виде обычного текста. Каждая строка файла представляет собой запись данных. Каждая запись состоит из одного или нескольких полей, разделенных запятыми. Использование запятой в качестве разделителя полей является источником названия для этого формата файла.
Для работы с CSV-файлами в Python существует встроенный модуль csv.

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

Питон

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

    • Здесь мы сначала открываем файл CSV в режиме ЧТЕНИЯ. Файловый объект называется csvfile. Файловый объект преобразуется в объект csv.reader. Мы сохраняем объект csv.reader как csvreader.
      • csvreader — это итерируемый объект. Следовательно, метод .next() возвращает текущую строку и переводит итератор на следующую строку. Поскольку первая строка нашего CSV-файла содержит заголовки (или имена полей), мы сохраняем их в списке с именем fields.
        • Теперь мы перебираем оставшиеся строки, используя цикл for. Каждая строка добавляется в список, называемый строками. Если вы попытаетесь напечатать каждую строку, можно обнаружить, что строка — это не что иное, как список, содержащий все значения поля.
          • csvreader.line_num — это не что иное, как счетчик, который возвращает количество итерированных строк.

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

          Питон

          • поля и строки уже определены. fields — это список, содержащий имена всех полей. rows — это список списков. Каждая строка представляет собой список, содержащий значения полей этой строки.
            • Здесь мы сначала открываем файл CSV в режиме записи. Файловый объект называется csvfile. Файловый объект преобразуется в объект csv.writer. Мы сохраняем объект csv.writer как csvwriter.
              • Теперь мы используем метод writerow для записи первой строки, которая представляет собой не что иное, как имена полей.
                • Мы используем метод writerows для одновременной записи нескольких строк.

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

                Питон

                  • Здесь объект файла (csvfile) преобразуется в объект DictWriter.
                    Здесь мы указываем имена полей в качестве аргумента.
                    • Метод writeheader просто записывает первую строку вашего CSV-файла, используя заранее заданные имена полей.
                      • Метод Writerows просто записывает все строки, но в каждой строке он записывает только значения (не ключи).

                      В итоге наш CSV-файл выглядит так:

                      • В модулях csv может быть задан необязательный параметр dialect, который используется для определения набора параметров, специфичных для конкретного формата CSV. По умолчанию модуль csv использует диалект excel, что делает их совместимыми с электронными таблицами Excel. Вы можете определить свой собственный диалект, используя метод register_dialect.
                        Вот пример:

                      Теперь, определяя объект csv.reader или csv.writer, мы можем указать диалект следующим образом:

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

                      Итак, это было краткое, но четкое обсуждение того, как загружать и анализировать файлы CSV в программе Python.

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

                      Содержание

                      Интегрируйте свое хранилище данных сегодня

                      Превратите свое хранилище данных в платформу данных, на которой работают все системы принятия решений и операционные системы компании.

                      7-дневная пробная версия • Кредитная карта не требуется

                      Что такое CSV-файл?

                      Файл CSV – это обычный текстовый файл, в котором хранятся данные с разделителями-запятыми в табличном формате. Аббревиатура CSV означает "значения, разделенные запятыми".

                      Имя файла CSV всегда должно включать расширение ".csv". Структура файлов CSV следующая:

                      • Первая (необязательная) строка в CSV-файле — это «заголовок» и содержит имена столбцов файла.
                      • Остальные строки в файле состоят из записей, по одной на строку. Каждая запись имеет одно или несколько полей данных, разделенных запятыми. (Это означает, что количество запятых в каждой строке должно быть на 1 меньше, чем количество столбцов.)
                      • Строка разбивает отдельные записи, т. е. с помощью символа новой строки "\n" (который обычно невидим при просмотре файла).

                      Ниже приведен пример простой файловой структуры CSV, содержащей заголовок и две записи о сотрудниках:

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

                      Зачем использовать CSV?

                      • Легко читать. В отличие от некоторых других форматов хранения данных, файлы CSV легко читаются людьми, поскольку они хранят информацию в виде обычного текста.
                      • Легкий. Эти файлы занимают мало места. Единственное дополнительное пространство, которое они занимают, — это строка заголовка и запятые между каждым полем данных.
                      • Портативность и гибкость. Как мы обсудим позже, файлы CSV легко импортировать во многие другие программные приложения.

                      Понравилась эта статья?

                      Еженедельно получайте отличный контент с новостной рассылкой Integrate.io!

                      Существует ли стандарт формата файлов CSV?

                      Определение файла CSV, которое мы дали выше, в основном охватывает все, что вам нужно знать о файлах CSV, но существует ли также формальное определение стандарта формата файлов CSV?

                      Наиболее близким к стандарту CSV является RFC 4180, написанный в 2005 году Инженерной группой Интернета (IETF). Однако этот документ предназначен только для информационных целей и содержит заявление об отказе от ответственности: «Этот меморандум содержит информацию для интернет-сообщества. Он не определяет какой-либо интернет-стандарт».

                      Ниже приведены некоторые особенности и подробности формата файлов CSV, описанные в RFC 4180, о которых вам, возможно, будет интересно узнать:

                      • Разрыв строки для последней строки (записи) в CSV-файле необязателен.
                      • Вы также можете дополнительно использовать двойные кавычки (например, символ "), чтобы заключить каждое поле в записи. Если двойные кавычки не заключают поля в двойные кавычки, поля не должны содержать кавычек.
                      • Поля, содержащие запятые, должны заключаться в двойные кавычки. Например: Смит, Джон, "Пеория, Иллинойс".

                      Несмотря на то, что RFC 4180 содержит четко определенные правила для CSV-файлов, нет никакой гарантии, что какой-либо конкретный файл с расширением ".csv" будет соответствовать этим правилам. Например, Microsoft Excel использует разделители с запятой для CSV-файлов в европейских странах, которые используют запятые там, где англоговорящие люди используют десятичные точки.

                      Как работать с CSV

                      Простота формата упрощает работу с CSV-файлами. Вы можете использовать текстовый редактор, такой как Блокнот, или веб-браузер, чтобы прочитать их, и их легко импортировать в базу данных или программу для работы с электронными таблицами (например, Microsoft Excel, Google Sheets или OpenOffice Calc). Вы также можете преобразовать CSV в SQL, если хотите сохранить его в реляционной базе данных.

                      Большинство текстовых редакторов и текстовых процессоров могут сохранять файл в формате CSV с помощью параметра "Сохранить как". Это делает файлы CSV совместимыми и взаимодействующими с файлами других основных типов, таких как XLS, TXT и HTML.

                      Если вы проводите какое-то время с приложениями для работы с электронными таблицами, такими как Microsoft Excel или Google Sheets, или даже импортируете определенные типы данных в Microsoft Outlook, вы неизбежно столкнетесь с файлом значений, разделенных запятыми, обычно известным как CSV.

                      Файл CSV – это простой текстовый файл, который можно открыть в самых разных программах, в том числе в любой программе, которая работает с обычным текстом, например в приложении "Блокнот"; что делает CSV-файл уникальным, так это то, как организовано его содержимое.

                      Что нужно знать о файле CSV

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

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

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

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

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

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

                      Вот как это сделать в Excel:

                      1. На ленте Excel перейдите на вкладку "Файл" и нажмите "Открыть".
                      2. Нажмите «Обзор» и в окне «Проводник» щелкните раскрывающееся меню справа от поля «Имя файла». Обычно по умолчанию используется значение «Все файлы Excel». Измените его на «Все файлы».
                      3. Перейдите к папке, где хранится CSV-файл, и выберите его.

                      Совет. Вы также можете легко сохранить электронную таблицу в виде файла CSV, чтобы импортировать ее в другую программу. Сохраните файл как обычно — выберите «Файл» и «Сохранить как», но затем выберите «CSV UTF-8 (с разделителями-запятыми) (*.csv)» в меню типа файла.

                      Как открыть CSV-файл в Google Таблицах

                      Открыть CSV-файл в Google Таблицах намного проще, поскольку Таблицы автоматически устанавливают все параметры во время импорта.

                      1. В Google Таблицах нажмите "Файл", а затем "Открыть".
                      2. Найдите файл CSV и выберите его. При необходимости нажмите "Загрузить", а затем перетащите его с компьютера.
                      3. Файл CSV будет автоматически правильно отформатирован и появится в Таблицах.

                      Как открыть CSV в текстовом редакторе

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

                      1. Откройте текстовый редактор, например Блокнот Windows или TextEdit.
                      2. Нажмите "Файл", а затем "Открыть".
                      3. В диалоговом окне "Открыть файл" щелкните раскрывающееся меню справа от поля "Имя файла". Если в настоящее время установлено значение «Текстовые документы», измените его на «Все файлы».
                      4. Найдите CSV-файл и выберите его.

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

                      Дэйв Джонсон — журналист, специализирующийся на технологиях. Он пишет о потребительских технологиях и о том, как индустрия превращает спекулятивный мир научной фантастики в реальную жизнь. Дэйв вырос в Нью-Джерси, прежде чем поступить в ВВС, чтобы управлять спутниками, преподавать космические операции и планировать космические запуски. Затем он провел восемь лет в качестве руководителя отдела контента в группе Windows в Microsoft.Как фотограф Дэйв фотографировал волков в их естественной среде обитания; он также инструктор по подводному плаванию и соведущий нескольких подкастов. Дэйв является автором более двух десятков книг и участвовал во многих сайтах и публикациях, включая CNET, Forbes, PC World, How To Geek и Insider.

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