В Pandas есть встроенный метод read_csv(), который позволяет читать, а потом и взаимодействовать с CSV-файлами. Об этом чуть ниже, а пока давайте вспомним, что такое CSV и что такое Pandas.
CSV — это специальный формат текстового файла, который используется для хранения табличных данных. Внутри он содержит не таблицы, а лишь информацию из таблиц, представленную простым текстом. Каждая отдельная строка в таблице — это отдельная строка в CSV-файле, где значения ячеек таблицы разделяются между собой запятой. Запятая играет важную роль в CSV, потому что она разделяет значения.
Pandas — это библиотека языка программирования Python, которая используется для анализа и обработки данных. Круг ее применения довольно широк: от частных небольших проектов до крупных проектов в сфере искусственного интеллекта, финансов, экономики, статистики, аналитики и др. Функциональные возможности у Pandas также достаточно широкие. Одной из таких возможностей является способность читать и записывать информацию в разных табличных форматах. Например: Excel, базы SQL, HDF, CSV и др. Сегодня поговорим о Pandas и ее функции «read_csv()», при помощи которой можно прочитать CSV-файл.
Pandas read_csv(): основные параметры
Для того чтобы посмотреть параметры и возможности «read_csv()» в Pandas, вы должны инсталлировать эту библиотеку себе на компьютер. Это очевидная информация, но на всякий случай мы ее повторили. Другим важным моментом является то, что у вас должен быть сформирован CSV-файл. С другой стороны, при помощи функции read_csv() можно открыть CSV-файл, доступный из других ресурсов.
Для того чтобы открыть локальный CSV-файл, нужно воспользоваться вот такой строчкой кода:
my_csv = pd.read_csv('example.csv')
print(my_csv.head())
где «example.csv» — это ваш локальный CSV-файл, а строчка с функцией «print» выведет на экран выделенные заголовки CSV-файла, чтобы было легче разобраться с таблицей.
Для чтения файлов из онлайн-площадок вам нужно будет указать полный путь к файлу при вызове функции read_csv(). Код будет следующим:
my_csv = pd.read_csv(r'https://codernet.ru/datadocument/example.csv')
print(my_csv.head())
Когда мы вызываем функцию read_csv(), тогда первая строка CSV-файла выступает в качестве заголовка. Ее мы и выделяли, когда добавляли в нашу функцию скрипт head(). Но что делать, если заголовки столбцов нашего CSV-файла нас вообще не устраивают? В этом случае потом их можно поменять на собственные, а можно поменять прямо во время чтения CSV-файла. Вот как это выглядит в коде:
import pandas as pd
my_col_names = [ 'описываем заголовки так',
'тут заголовок'
'тут еще заголовок',
...
]
my_csv = pd.read_csv('example.csv', names=my_col_names, skiprows=[0])
Мы отметили названия собственных заголовков. При помощи «names=my_col_names» мы обозначили, что нужно использовать наши заголовки. При помощи «skiprows=[0]» мы пропустили вывод первой строки в CSV-файле, которая и является заголовками столбцов. Если не удалить первую строку, тогда в импортированном CSV-файле будут 2 вида заголовков: те, которые мы задали, и те, которые определены по умолчанию. При помощи «skiprows=[]» можно пропустить вывод любой строки в CSV-файле, нужно только указать индекс строки. Индексация строк начинается с нуля.
Если нужно удалить заголовок полностью, тогда последняя строчка скрипта будет такой:
my_csv = pd.read_csv('example.csv', header=None, skiprows=[0])
Как видно, «header=None» отвечает за удаление заголовка.
Бывают такие случаи, когда в CSV файле разделение значений не будет определяться запятыми. Такое бывает, если в значениях CSV-файла используются запятые. В этом случае значения будут разделяться другими знаками, например,точкой с запятой. Но если «проблемный» файл вы будете вызывать стандартным способом, который мы описали выше, тогда у вас могут возникнуть неприятности. Чтобы не было проблем, нужно указать разделитель значений в скрипте. В коде это будет выглядеть так:
my_csv = pd.read_csv('example.csv', names=my_col_names, skiprows=[0], sep=";")
Чтобы указать разделитель значений, нужно указать атрибут «sep».
Заключение
На этом параметры работы «read_csv()» в Pandas закончены. Для того чтобы дальше взаимодействовать с прочитанной таблицей, нужно будет использовать совсем другие функции библиотеки Pandas. О них мы поговорим в следующих статьях.

Другое