Автор оригинала: Pankaj Kumar.
Метод Pandas Read_CSV () используется для чтения файла CSV в объект dataframe. Файл CSV похож на двумерную таблицу, где значения разделены с помощью разделителя.
1. Pandas Read_CSV () Пример
Допустим, у нас есть файл CSV «Somate.csv» со следующим контентом.
Emp ID,Emp Name,Emp Role 1,Pankaj Kumar,Admin 2,David Lee,Editor 3,Lisa Ray,Author
Давайте посмотрим, как прочитать его в DataFrame с использованием функции Pandas Read_CSV ().
import pandas emp_df = pandas.read_csv('employees.csv') print(emp_df)
Выход:
Emp ID Emp Name Emp Role 0 1 Pankaj Kumar Admin 1 2 David Lee Editor 2 3 Lisa Ray Author
2. Указание разделителя с функцией Pandas Read_CSV ()
Разделитель по умолчанию файла CSV – запятая. Но мы можем использовать любой другой разделитель тоже. Допустим, наш разделитель файла CSV – это #.
Emp ID#Emp Name#Emp Role 1#Pankaj Kumar#Admin 2#David Lee#Editor 3#Lisa Ray#Author
В этом случае мы можем указать Сен
Параметр при вызове функции read_csv ().
import pandas emp_df = pandas.read_csv('employees.csv', sep='#') print(emp_df)
Выход:
Emp ID Emp Name Emp Role 0 1 Pankaj Kumar Admin 1 2 David Lee Editor 2 3 Lisa Ray Author
3. Чтение только определенных столбцов из файла CSV
Мы можем указать Ушиболы
Параметр для чтения определенных столбцов из файла CSV. Это очень полезно, когда файл CSV имеет много столбцов, но мы заинтересованы только в нескольких из них.
import pandas emp_df = pandas.read_csv('employees.csv', usecols=['Emp Name', 'Emp Role']) print(emp_df)
Выход:
Emp Name Emp Role 0 Pankaj Kumar Admin 1 David Lee Editor 2 Lisa Ray Author
4. Чтение файла CSV без заголовка
Не обязательно иметь ряд заголовка в файле CSV. Если файл CSV не имеет строки заголовка, мы все еще можем прочитать его, передавая заголовок = нет
на функцию read_csv ().
Скажем, наши сотрудники .CSV файл имеет следующий контент.
1,Pankaj Kumar,Admin 2,David Lee,Editor
Давайте посмотрим, как прочитать этот файл CSV в объект DataFrame.
import pandas emp_df = pandas.read_csv('employees.csv', header=None) print(emp_df)
Выход:
0 1 2 0 1 Pankaj Kumar Admin 1 2 David Lee Editor 2 3 Lisa Ray Author
Обратите внимание, что заголовки столбцов автоматически назначаются от 0 до N. Мы можем пройти эти значения столбца в Ушиболы
Параметр для чтения определенных столбцов.
import pandas emp_df = pandas.read_csv('employees.csv', header=None, usecols=[1]) print(emp_df)
Выход:
1 0 Pankaj Kumar 1 David Lee
5. Указание строки заголовка в файле CSV
Мы также можем указать строку для значения заголовка. Любые строки перед строкой заголовка будут отброшены. Допустим, файл CSV имеет следующие данные.
# some random data invalid data Emp ID,Emp Name,Emp Role 1,Pankaj Kumar,Admin 2,David Lee,Editor 3,Lisa Ray,Author
Данные заголовка присутствуют в 3 строке. Так что мы должны пройти заголовок = 2
Чтобы прочитать данные CSV из файла.
import pandas emp_df = pandas.read_csv('employees.csv', header=2) print(emp_df)
Выход:
Emp ID Emp Name Emp Role 0 1 Pankaj Kumar Admin 1 2 David Lee Editor 2 3 Lisa Ray Author
6. Пропуская строки CSV
Мы можем пройти Skiprows
Параметр, чтобы пропустить строки из файла CSV. Допустим, мы хотим пропустить 3-й и 4-й строчку из нашего оригинального файла CSV.
import pandas emp_df = pandas.read_csv('employees.csv', skiprows=[2, 3]) print(emp_df)
Выход:
Emp ID Emp Name Emp Role 0 1 Pankaj Kumar Admin
7. Указание механизма анализатора для функции Pandas Read_CSV ()
Покажем, наш разделитель файла CSV – «##» I.E. Несколько символов.
Emp ID##Emp Name##Emp Role 1##Pankaj Kumar##Admin 2##David Lee##Editor 3##Lisa Ray##Author
Посмотрим, что произойдет, когда мы пытаемся прочитать этот файл CSV.
import pandas emp_df = pandas.read_csv('employees.csv', sep='##') print(emp_df)
Выход:
/Users/pankaj/Documents/PycharmProjects/AskPython/hello-world/journaldev/pandas/pandas_read_csv.py:5: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'. emp_df = pandas.read_csv('employees.csv', sep='##') Emp ID Emp Name Emp Role 0 1 Pankaj Kumar Admin 1 2 David Lee Editor 2 3 Lisa Ray Author
Мы можем избежать предупреждения, указав параметр «Двигатель» в функции Read_CSV ().
emp_df = pandas.read_csv('employees.csv', sep='##', engine='python')
Есть два машинных двигателя – C и Python. Engine Parser Engine является быстрее и по умолчанию, но Engine Python Parser Engine является более полноценным.