Рубрики
Без рубрики

Pandas read_csv () – Чтение файла CSV в dataframe

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

Автор оригинала: 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 является более полноценным.

8. Ссылки