Полное руководство: как читать файлы CSV с помощью Pandas


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

В этом руководстве объясняется несколько способов чтения CSV-файлов в Python с использованием следующего CSV-файла с именем «data.csv» :

playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22

Пример 1: Чтение CSV-файла в pandas DataFrame

В следующем коде показано, как прочитать файл CSV в DataFrame pandas:

#import CSV file as DataFrame
df = pd.read_csv('data.csv')

#view DataFrame
df

 playerID team points
0 1 Lakers 26
1 2 Mavs 19
2 3 Bucks 24
3 4 Spurs 22

Пример 2. Чтение определенных столбцов из CSV-файла

Следующий код показывает, как прочитать только столбцы с названиями playerID и points в CSV-файле в pandas DataFrame:

#import only specific columns from CSV file
df = pd.read_csv('data.csv', usecols=['playerID', 'points'])

#view DataFrame
df

 playerID points
0 1 26
1 2 19
2 3 24
3 4 22

В качестве альтернативы вы можете указать индексы столбцов для чтения в pandas DataFrame:

#import only specific columns from CSV file
df = pd.read_csv('data.csv', usecols=[ 0 , 1 ])

#view DataFrame
df

 playerID team
0 1 Lakers
1 2 Mavs
2 3 Bucks
3 4 Spurs

Пример 3. Укажите строку заголовка при импорте файла CSV

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

random,data,values
playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22

Чтобы прочитать этот файл CSV в DataFrame pandas, мы можем указать заголовок = 1 следующим образом:

#import from CSV file and specify that header starts on second row
df = pd.read_csv('data.csv', header= 1 )

#view DataFrame
df

 playerID team points
0 1 Lakers 26
1 2 Mavs 19
2 3 Bucks 24
3 4 Spurs 22

Пример 4: Пропустить строки при импорте CSV-файла

Вы также можете легко пропустить строки при импорте CSV-файла, используя аргумент skiprows.Например, следующий код показывает, как пропустить вторую строку при импорте файла CSV:

#import from CSV file and skip second row
df = pd.read_csv('data.csv', skiprows=[ 1 ] )

#view DataFrame
df

 playerID team points
0 2 Mavs 19
1 3 Bucks 24
2 4 Spurs 22

А следующий код показывает, как пропустить вторую и третью строку при импорте CSV-файла:

#import from CSV file and skip second and third rows
df = pd.read_csv('data.csv', skiprows=[ 1, 2 ] )

#view DataFrame
df

 playerID team points
1 3 Bucks 24
2 4 Spurs 22

Пример 5. Чтение CSV-файлов с настраиваемым разделителем

Иногда у вас может быть файл CSV с разделителем, отличным от запятой. Например, предположим, что в нашем CSV-файле в качестве разделителя используется символ подчеркивания:

playerID_team_points
1_Lakers_26
2_Mavs_19
3_Bucks_24
4_Spurs_22

Чтобы прочитать этот CSV-файл в pandas, мы можем использовать аргумент sep , чтобы указать разделитель, который будет использоваться при чтении файла:

#import from CSV file and specify delimiter to use
df = pd.read_csv('data.csv', sep='_')

#view DataFrame
df

 playerID team points
0 1 Lakers 26
1 2 Mavs 19
2 3 Bucks 24
3 4 Spurs 22

Вы можете найти полную документацию для функции pandas read_csv() здесь .