Как открыть файл tsv в pandas

Обновлено: 01.07.2024

Фрейм данных. to_csv ( path_or_buf = None , sep = ',' , na_rep = '' , float_format = None , < em>columns = None , header = True , index = True , index_label = None , mode = 'w ' , encoding = None , compression = 'infer' , цитирование = None , quotechar = '"'< /em> , line_terminator = None , chunksize = None , date_format = None , двойная кавычка = True , escapechar = None , decimal = '.' , errors = 'strict' , storage_options = None ) [источник] ¶

Записать объект в файл значений, разделенных запятыми (csv).

Параметры path_or_buf str, path object, file-like object или None, по умолчанию None

Строка, объект пути (реализующий os.PathLike[str]) или файлоподобный объект, реализующий функцию write(). Если нет, результат возвращается в виде строки. Если передается недвоичный файловый объект, его следует открывать с помощью newline=’’ , отключая универсальные символы новой строки. Если передается объект двоичного файла, режим может содержать «b».

Изменено в версии 1.2.0: введена поддержка двоичных файловых объектов.

Строка длиной 1. Разделитель полей для выходного файла.

улица na_rep, по умолчанию ‘’

Отсутствует представление данных.

float_format str, по умолчанию нет

Строка формата для чисел с плавающей запятой.

последовательность столбцов, необязательно

Столбцы для записи.

заголовок bool или список строк, по умолчанию True

Запишите имена столбцов. Если указан список строк, предполагается, что это псевдонимы имен столбцов.

index bool, по умолчанию True

Запишите имена строк (индекс).

index_label str или последовательность или False, по умолчанию None

Ярлык столбца для индексного столбца (столбцов), если необходимо. Если указано None, а заголовок и индекс имеют значение True, то используются имена индексов. Последовательность должна быть указана, если объект использует MultiIndex. Если False, не печатать поля для имен индексов. Используйте index_label=False для упрощения импорта в R.

улица режима

Режим записи Python, по умолчанию ‘w’.

кодировка str, необязательно

Строка, представляющая кодировку для использования в выходном файле, по умолчанию имеет значение «utf-8». кодировка не поддерживается, если path_or_buf является недвоичным файловым объектом.

сжатие str или dict, по умолчанию ‘infer’

Для оперативного сжатия выходных данных. Если 'infer' и '%s' похожи на пути, то обнаружите сжатие из следующих расширений: '.gz', '.bz2', '.zip', '.xz' или '.zst' (в противном случае сжатие не выполняется). ). Установите None для отсутствия сжатия. Также может быть dict с ключом «method», установленным на один из < 'zip' , 'gzip' , 'bz2' , 'zstd' > и другие пары ключ-значение пересылаются в zipfile.ZipFile , gzip.GzipFile , bz2. BZ2File или zstandard.ZstdDecompressor соответственно. Например, для более быстрого сжатия и создания воспроизводимого архива gzip можно передать следующее: сжатие= .

Изменено в версии 1.0.0: теперь может быть словарь с ключом «метод» в качестве режима сжатия и другими записями в качестве дополнительных параметров сжатия, если режим сжатия «zip».

Изменено в версии 1.1.0: передача параметров сжатия в виде ключей в dict поддерживается для режимов сжатия gzip, bz2, zstd и zip.

Изменено в версии 1.2.0: сжатие поддерживается для объектов двоичных файлов.

Изменено в версии 1.2.0: предыдущие версии перенаправляли записи словаря для gzip в gzip.open вместо gzip.GzipFile, что не позволяло установить mtime .

По умолчанию csv.QUOTE_MINIMAL. Если вы установили float_format, то числа с плавающей запятой преобразуются в строки, и, таким образом, csv.QUOTE_NONNUMERIC будет рассматривать их как нечисловые.

строка в кавычках, по умолчанию ‘"’

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

line_terminator, необязательно

Символ новой строки или последовательность символов для использования в выходном файле. По умолчанию используется os.linesep , что зависит от ОС, в которой вызывается этот метод («\n» для Linux, «\r\n» для Windows, т. е.).

целое число размера фрагмента или None

Строки для записи за раз.

date_format str, по умолчанию нет

Строка формата для объектов datetime.

bool в двойных кавычках, по умолчанию True

Управление кавычками кавычек внутри поля.

улица escapechar, по умолчанию нет

Строка длины 1. Символ, используемый для экранирования sep и кавычек, когда это необходимо.

десятичная строка, по умолчанию ‘.’

Символ, распознанный как десятичный разделитель. Например. используйте «,» для европейских данных.

улица ошибок, по умолчанию "строгая"

Указывает, как следует обрабатывать ошибки кодирования и декодирования. Полный список опций см. в аргументе errors для open().

Новое в версии 1.1.0.

Новое в версии 1.2.0.

Если path_or_buf имеет значение None, возвращает результирующий формат csv в виде строки. В противном случае возвращает None.

прочитать файл tsv python

Файлы используются для хранения информации с возможностью чтения и записи в них. Операции, которые можно выполнять с файлами в python: чтение, запись, открытие, закрытие, переименование и удаление. В Python есть два основных типа файлов — двоичный файл и текстовый файл. Двоичные файлы могут быть разных типов, например файлы изображений, такие как .jpg, .jpg, .jpg, или документы, такие как .pdf, .xls, .doc и т. д. Текст файл может быть исходным кодом, веб-стандартами, табличными данными и т. д. В этой статье мы рассмотрим один из таких табличных данных из текстового файла — файл .tsv. Мы рассмотрим, как читать файл tsv в python.

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

Файл TSV означает файл значений, разделенных табуляцией. Это текстовый файл, в котором данные хранятся в табличной форме. Формат файла TSV широко используется для обмена данными между базами данных в форме таблицы базы данных или данных электронной таблицы. Здесь каждая запись отделена от другой символом табуляции ( \t ). Он действует как формат, альтернативный формату .csv. Разница между форматами .tsv и .csv заключается в том, что формат .csv использует запятые для разделения столбцов в данных, тогда как .tsv< /em> использует табуляцию для разделения столбцов.

Чтение файла TSV в Python с использованием открытой функции

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

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

Затем мы напишем функцию open(). Мы будем использовать файл tsv с именем ‘product.tsv’ , который содержит данные о продажах трех продуктов за 12 месяцев. Мы передадим файл tsv в качестве аргумента функции open(), а «файл» будет объектом файла.

Затем мы используем csv.reader для преобразования файлового объекта в объект csv.reader . Мы передаем разделитель как ‘\t’ в csv.reader. Разделитель используется для обозначения символа, который будет разделять каждое поле.

Поскольку это файл tsv, мы будем передавать символ табуляции в качестве разделителя. Переменная ‘tsv_file’ будет объектом для файла tsv. Затем мы пройдемся по всему файлу и напечатаем каждое выражение строка за строкой.

Файл tsv печатается построчно в качестве вывода:

Весь код:

Чтение файла TSV в Python с помощью Pandas

Есть еще один способ прочитать файл tsv, использующий библиотеку pandas. Библиотека Pandas в python используется для анализа данных и обработки данных. Это мощная библиотека для работы с числовыми таблицами.

Во-первых, мы будем импортировать библиотеку pandas.

Теперь мы воспользуемся функцией read_csv() из библиотеки pandas. Мы будем передавать файл tsv в read_csv(). Вместе с файлом мы будем передавать разделитель как '\t' для символ табуляции, потому что для файлов tsv символ табуляции будет разделять каждое поле.

На выходе будет файл tsv:

прочитать tsv-файл python

Весь код:

Теперь, чтобы прочитать первые пять строк из product.tsv, мы воспользуемся функцией head(). Это позволит получить первые n строк из файла tsv.

По умолчанию, если вы не укажете количество строк, head() напечатает 5 строк.

Чтобы напечатать все записи определенного столбца, мы будем использовать следующий код. Мы напечатаем весь столбец Продажи продукта А.

Вывод будет таким:

Запись файла TSV с помощью Pandas

Теперь мы увидим, как перезаписать уже существующий файл tsv. Мы воспользуемся функцией open(), но на этот раз мы откроем файл в режиме ‘wt’. Используя режим ‘wt’ , мы можем записать файл в виде текста. Вместо csv.reader() здесь мы будем использовать csv.writer(). Мы передадим файл tsv и разделитель как ‘\t’ в функцию writer().

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

Теперь попробуем еще раз прочитать файл product.tsv.Опять же, мы будем использовать тот же фрагмент кода, что и раньше, для чтения.

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

Написание TSV без Pandas

Чтобы переписать файлы tsv без использования библиотеки pandas, мы будем использовать следующий код. Здесь мы добавим содержимое файла с именем «total_sales» в другой файл tsv с именем «продукт». Total_sales состоит из продаж всех продуктов за год, а product – из продаж всех продуктов в отдельности.

Теперь, чтобы прочитать файл:

Вывод:

Как видно выше, к файлу product добавлено содержимое файла total_sales.

Чтение TSV в словарь с помощью open()

Мы можем прочитать заданный файл tsv и сохранить его содержимое в словаре. Для этого мы возьмем tsv-файл, содержащий два столбца — месяц и общий объем продаж. Затем с помощью функции open() мы будем хранить каждый месяц в качестве ключа словаря и общую сумму продаж за месяц в качестве значений.

Мы разделим месяц и продажи, используя символ табуляции. Затем пронумеруем словарь и выведем его значения.

Вывод:

Обязательно прочитать

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

В последнем посте о python pandas мы узнали об объектах данных python pandas — серии python pandas и фрейме данных python pandas, а также научились создавать серию pandas или фрейм данных pandas с нуля. В этом посте мы научимся читать табличные данные из различных форматов файлов, таких как csv, tsv, xls, html, json, базы данных sql и т. д., а также создавать кадр данных pandas из файла CSV и файлов других форматов.

Python Pandas имеет следующие методы/функции для чтения различных форматов файлов, таких как CSV, мы рассмотрим некоторые из них по отдельности:-

Метод Формат файла
pandas.read_table() Значения, разделенные табуляцией (TSV)
pandas.read_excel() Электронные таблицы Excel
pandas.read_csv() Значения, разделенные запятыми (CSV)
pandas.read_json() Файлы JSON< /td>
pandas.read_html() HTML-файлы
pandas.read_sql_query() База данных SQL

Построение кадра данных pandas из CSV-файла.

Мы можем легко создать кадр данных python pandas из CSV-файла, используя pandas.read_csv().

Построение кадра данных python pandas из файла tsv (значения, разделенные табуляцией)

Мы можем создать кадр данных pandas из файла tsv. По умолчанию python pandas выберет первую строку в качестве заголовка, а индекс будет целочисленным индексом по умолчанию. Запустите следующий код:-

Приведенный выше URL содержит идеально отформатированный файл tsv (значения, разделенные табуляцией), причем первая строка является заголовком.

Проверка кадра данных python pandas

Вы можете проверить кадр данных pandas, используя df.head() или df.tail(). По умолчанию отображаются 5 строк сверху или снизу, заголовок и индекс. Если вы хотите просмотреть большее количество строк, добавьте число в скобках, например df.head(10) или df.tail(15). Давайте посмотрим на кадр данных pandas, созданный на предыдущем шаге.

Как видите, python pandas автоматически выбрал первую строку файла в качестве заголовка/столбца кадра данных pandas.

Однако, если файл отформатирован неправильно, нам придется передать такие аргументы, как sep и имена (или вы можете установить заголовок = None, чтобы иметь целочисленные заголовки по умолчанию) в pd.read_table(). Взгляните на следующий пример: -

Глядя на заголовок фрейма данных pandas, мы видим, что указанный файл не разделен табуляцией, а разделен символом «|» (вертикальная черта), и у него нет заголовка. Итак, давайте приведем необходимые аргументы.

Итак, теперь наш фрейм данных pandas выглядит хорошо.

Установка столбца индекса кадра данных pandas

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

Сброс столбца индекса кадра данных pandas

Аналогичным образом вы можете сбросить индекс кадра данных pandas до целочисленного индекса по умолчанию, используя df.reset_index()

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

Получение информации о кадре данных pandas

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

Итак, это говорит нам о столбце, значениях, индексе, использовании памяти и т. д. о кадре данных python pandas.

Вы также можете использовать dataframe.описать() в фрейме данных pandas, который будет выполнять математические операции со всеми столбцами. Это может быть бесполезно для столбцов, содержащих строку или объекты, отличные от int или float.

Посмотрите наше руководство по объектам Python Pandas, т. е. серии Python Pandas и кадру данных Python Pandas.

Учебник Python Pandas по настройке индекса кадра данных Pandas

Заканчиваю этот пост просьбой поделиться постом со всеми, кому он нужен. Удачного программирования и продолжайте учиться.


< /p>

Файлы CSV (значения, разделенные запятыми) – это распространенный формат файлов для передачи и хранения данных. Способность читать, обрабатывать и записывать данные в CSV-файлы и из них с помощью Python — это ключевой навык, которым должен овладеть любой специалист по данным или бизнес-аналитик. В этом посте мы рассмотрим, что такое CSV-файлы, как читать CSV-файлы в Pandas DataFrames и как записывать DataFrames обратно в CSV-файлы после анализа.

Pandas — это самый популярный пакет для обработки данных в Python, а DataFrames — это тип данных Pandas для хранения табличных 2D-данных.

Загрузить CSV-файлы в Python Pandas

Основной процесс загрузки данных из CSV-файла в Pandas DataFrame (если все идет хорошо) достигается с помощью функции «read_csv» в Pandas:

Несмотря на то, что этот код кажется простым, для полного понимания и отладки процедуры загрузки данных в случае возникновения проблем необходимо понимание трех основных понятий:

  1. Расширения и типы файлов: что на самом деле означают буквы CSV? В чем разница между файлом .csv и файлом .txt?
  2. Понимание того, как данные представлены в CSV-файлах. Как на самом деле выглядят данные, если открыть CSV-файл?
  3. Понимание пути Python и того, как ссылаться на файл — что такое абсолютный и относительный путь к файлу, который вы загружаете? В каком каталоге вы работаете?
  4. Форматы данных CSV и ошибки — распространенные ошибки с функцией.

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

1. Расширения файлов и типы файлов

Первым шагом к работе с файлами с разделителями-запятыми (CSV) является понимание концепции типов файлов и расширений файлов.

  1. Данные хранятся на вашем компьютере в отдельных «файлах» или контейнерах, каждый из которых имеет свое имя.
  2. Каждый файл содержит данные разных типов — внутреннее устройство документа Word сильно отличается от внутреннего устройства изображения.
  3. Компьютеры определяют, как читать файлы, используя «расширение файла», то есть код, следующий за точкой («.») в имени файла.
  4. Таким образом, имя файла обычно имеет форму « . ». Примеры:
    • project1.DOCX — файл Microsoft Word с именем Project1.
    • shanes_file.TXT – простой текстовый файл с именем shanes_file.
    • IMG_5673.JPG — файл изображения с именем IMG_5673.
    • К другим известным типам файлов и расширениям относятся: XLSX: Excel, PDF: Portable Document Format, PNG — изображения, ZIP — сжатый формат файла, GIF — анимация, MPEG — видео, MP3 — музыка и т. д. См. полный список расширения здесь.
  5. Файл CSV – это файл с расширением .csv, например «данные.csv», «super_information.csv». В этом случае «CSV» сообщает компьютеру, что данные, содержащиеся в файле, представлены в формате «значения, разделенные запятыми», который мы обсудим ниже.

Расширения файлов по умолчанию скрыты во многих операционных системах. Первый шаг, который должен сделать любой уважающий себя инженер, инженер-программист или специалист по обработке и анализу данных на новом компьютере, — убедиться, что расширения файлов отображаются в окнах проводника (Windows) или Finder (Mac).


Чтобы проверить, отображаются ли расширения файлов в вашей системе, создайте новый текстовый документ с помощью Блокнота (Windows) или TextEdit (Mac) и сохраните его в папку по вашему выбору. Если вы не видите расширение «.txt» в своей папке при просмотре, вам придется изменить настройки.

  • В Microsoft Windows: откройте Панель управления > Внешний вид и персонализация. Теперь нажмите «Параметры папки» или «Параметры проводника», как он теперь называется > вкладка «Вид». На этой вкладке в разделе «Дополнительные настройки» вы увидите параметр «Скрыть расширения для известных типов файлов». Снимите этот флажок, нажмите «Применить» и «ОК».
  • В Mac OS: откройте Finder > В меню нажмите Finder > «Настройки», нажмите «Дополнительно», установите флажок «Показать все расширения имен файлов».

2. Представление данных в файлах CSV

Файл «CSV», то есть файл с типом файла «csv», представляет собой обычный текстовый файл. Любой текстовый редактор, например Блокнот для Windows или TextEdit для Mac, может открыть CSV-файл и отобразить его содержимое. Sublime Text — прекрасный и многофункциональный текстовый редактор для любой платформы.

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

Пример набора данных таблицы и соответствующих данных в формате CSV показан на диаграмме ниже.

 Функция Pandas read csv read_csv используется для преобразования этого файла с разделителями-запятыми в табличный формат в Python DataFrame. Здесь мы рассмотрим внутренности файла CSV, чтобы изучить, как указываются столбцы». ширина=

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

Другие разделители/разделители — файлы TSV

Схема разделения запятыми на сегодняшний день является наиболее популярным методом хранения табличных данных в текстовых файлах.

Тем не менее, выбор символа запятой для разделителей столбцов является произвольным и может быть заменен при необходимости. Популярные альтернативы включают табуляцию («\t») и точку с запятой («;»). Файлы, разделенные табуляцией, называются файлами TSV (значения, разделенные табуляцией).

При загрузке данных с помощью Pandas функция read_csv используется для чтения любого текстового файла с разделителями и путем изменения разделителя с помощью параметра sep.

Разделители в текстовых полях — кавычки

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

Символ кавычки можно указать в Pandas.read_csv с помощью аргумента quotechar. По умолчанию (как и во многих системах) он заключен в стандартные кавычки ("). Любые запятые (или другие разделители, как показано ниже), которые встречаются между двумя символами кавычек, будут игнорироваться как разделители столбцов.

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

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

3. Python — пути, папки, файлы

Когда вы укажете имя файла в Pandas.read_csv, Python будет искать в вашем «текущем рабочем каталоге». Ваш рабочий каталог обычно представляет собой каталог, из которого вы запустили процесс Python или записную книжку Jupyter.

Когда filenotfounderrors случается, это может быть связано с ошибкой в ​​имени файла или с ошибкой рабочего каталога,

Как найти путь к Python

Ваш путь Python можно отобразить с помощью встроенного модуля os. Модуль ОС предназначен для зависящих от операционной системы функций в программах и сценариях Python.

Чтобы найти текущий рабочий каталог, необходима функция os.getcwd() . Функцию os.listdir() можно использовать для отображения всех файлов в каталоге, что является хорошей проверкой, чтобы убедиться, что загружаемый CSV-файл находится в каталоге, как ожидалось.

В приведенном выше примере мой текущий рабочий каталог находится в каталоге ‘/Users/Shane/Document/blog’. Любые файлы, находящиеся в этом каталоге, будут немедленно доступны для функции open() файла Python или функции чтения csv Pandas.

Загрузка файла: абсолютный и относительный пути

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

  • Относительный путь — это путь к файлу, если вы начинаете с текущего рабочего каталога. В относительных путях обычно файл будет находиться в подкаталоге рабочего каталога, и путь не будет начинаться со спецификатора диска, например. (data/test_file.csv). Персонажи '..’ используются для перехода в родительский каталог по относительному пути.
  • Абсолютный путь — это полный путь от базы вашей файловой системы до файла, который вы хотите загрузить, например c:/Documents/Shane/data/test_file.csv. Абсолютные пути начинаются со спецификатора диска (c:/ или d:/ в Windows или ‘/’ в Mac или Linux)

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

absolute vs относительные пути к файлам

4. Ошибки загрузки CSV-файла Pandas

Самая распространенная ошибка при загрузке данных из CSV-файлов в Pandas:

  1. FileNotFoundError: файл b'filename.csv' не существует
    Ошибка «Файл не найден» обычно связана с настройкой пути, текущим каталогом или путаницей в имени файла (здесь может сыграть роль расширение файла!)< /li>
  2. UnicodeDecodeError: кодек 'utf-8' не может декодировать байт в позиции: недопустимый байт продолжения. нестандартные персонажи. Для быстрого исправления попробуйте открыть файл в Sublime Text и повторно сохранить его с кодировкой «UTF-8».
  3. pandas.parser.CParserError: ошибка токенизации данных.
    Ошибки синтаксического анализа могут быть вызваны необычными обстоятельствами, связанными с вашим форматом данных — попробуйте добавить параметр «engine=’python’» в вызов функции read_csv; это изменяет внутреннюю функцию чтения данных на более медленный, но более стабильный метод.

Расширенное чтение CSV-файлов

В функции Pandas read_csv() есть несколько дополнительных гибких параметров, которые полезно иметь в своем арсенале методов обработки данных:

Указание типов данных

Как упоминалось ранее, файлы CSV не содержат информации о типе данных. Типы данных выводятся путем проверки верхних строк файла, что может привести к ошибкам. Чтобы вручную указать типы данных для разных столбцов, можно использовать параметр dtype со словарем имен столбцов и применяемых типов данных, например: dtype= .

Обратите внимание, что для дат и времени формат, столбцы и другое поведение можно настроить с помощью параметров parse_dates, date_parser, dayfirst, keep_date.

Пропуск и выбор строк и столбцов из файла

Параметр nrows указывает, сколько строк в верхней части CSV-файла нужно прочитать, что полезно для выборки большого файла без полной загрузки. Точно так же параметр skiprows позволяет указать строки, которые следует исключить, либо в начале файла (укажите целое число), либо по всему файлу (укажите список индексов строк). Точно так же можно использовать параметр usecols, чтобы указать, какие столбцы данных нужно загрузить.

Пользовательские символы пропущенных значений

Преимущества и недостатки формата CSV

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

С положительной стороны:

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

Однако у формата CSV есть и отрицательные стороны:

  • В текстовом файле не хранится информация о типе данных, все типизированные данные (даты, int и float, строки) выводятся только из данных.
  • Информация о форматировании или макете не сохраняется. Такие параметры, как шрифты, границы, ширина столбца из Microsoft Excel, будут потеряны.
  • Кодировки файлов могут стать проблемой, если в текстовых полях есть символы, несовместимые с ASCII.
  • Формат CSV неэффективен; числа хранятся в виде символов, а не двоичных значений, что расточительно. Однако вы обнаружите, что ваши данные в формате CSV хорошо сжимаются с помощью сжатия zip.

Помимо этого, чтобы устранить некоторые из этих недостатков, два видных разработчика данных в экосистемах R и Python, Уэс МакКинни и Хэдли Уикхэм, недавно представили формат Feather, который должен быть быстрым и простым. , открытый, гибкий и многоплатформенный формат данных, изначально поддерживающий несколько типов данных.

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