Впервые я начал работать с CSV-файлами, когда изучал бэкенд в рамках курса по разработке ПО. Но использовать их на регулярной основе я стал только когда погрузился в науку о данных.
CSV расшифровывается как comma-separated values («значения, разделенные запятыми»), и это надо понимать буквально. Файлы с расширением .csv хранят данные в виде набора значений, разделенных запятыми.
В этом туториале мы будем использовать общедоступный набор данных о качестве воды на пляже, хранящийся в файле bwq.csv. Вы можете получить этот файл, загрузив его с сайта Kaggle. Но, конечно, следуя приведенным ниже инструкциям, вы сможете прочитать любой csv-файл.
Чтение файла CSV в Python
Существует два распространенных способа чтения csv-файла в Python. Первый — с использованием библиотеки csv, а второй — с использованием библиотеки pandas.
1. Использование библиотеки csv
import csv
wiyh open("./bwq.csv", 'r') as file:
csvreader = csv.reader(file)
for row in csvreader:
print(row)
Здесь мы импортируем библиотеку csv, чтобы использовать содержащийся в ней метод .reader() для чтения файла csv. Ключевое слово with позволяет нам как открывать, так и закрывать файл без необходимости его явного закрытия.
Метод open() принимает два аргумента типа string. Первый — имя файла, а второй — режим, в котором нужно открыть файл. Для открытия файла в режиме чтения используется аргумент r, однако его можно не указывать, так как r предполагается по умолчанию.
Затем мы перебираем все строки в цикле for.
Вывод в терминале должен выглядеть примерно так:


2. Использование библиотеки Pandas
import pandas as pd
data = pd.read_csv("bwq.csv")
data
Здесь мы импортируем Pandas — библиотеку Python, используемую для проведения манипуляций с данными и анализа данных. Она содержит метод .read_csv(), необходимый нам для чтения нашего csv-файла.
Результат будет выглядеть примерно так:


Возможные проблемы с разделителями
Большинство csv-файлов разделяются запятыми, однако есть и такие, которые разделяются другими символами, например, двоеточиями. В коде на Python это может привести к неожиданным результатам.
Решение проблемы разделителей в csv-файле с помощью библиотеки csv
Чтобы изменить разделитель с помощью библиотеки csv, просто передайте аргумент delimiter=':' в метод reader() следующим образом:
import csv
with open("./fileWithClonDelimetr.csv", 'r') as file:
csvreader = csv.reader(file, delimiter=':')
for row in csvreader:
print(row)
О других крайних случаях чтения csv-файлов с помощью библиотеки csv читайте в документации Python.
Решение проблемы разделителей в csv-файле с помощью библиотеки Pandas
Чтобы изменить разделитель с помощью библиотеки pandas, просто передайте аргумент delimiter=':' в метод read_csv() следующим образом:
import pandas as pd
data = pd.read_csv("fileWithColonDelimeter.csv", delimiter=':')
data
О других крайних случаях чтения файлов csv с помощью библиотеки Pandas читайте в документации Pandas.
Перевод статьи Kelly Moreira «How To Read A CSV File In Python».

В первом примере команда with написана не правильно.
Пингбэк: Как обрабатывать текстовые файлы в Python 3 - pythonturbo
Пингбэк: Наиболее используемые функции Pandas