Как объединить несколько листов excel в pandas


Часто вам может потребоваться импортировать и объединить несколько листов Excel в один DataFrame pandas.

Например, предположим, что у вас есть следующая книга Excel под названием data.xlsx с тремя разными листами, каждый из которых содержит два столбца данных о баскетболистах:

Мы можем легко импортировать и объединить каждый лист в один DataFrame pandas, используя функции pandas concat() и read_excel() , но сначала нам нужно убедиться, что xlrd установлен:

 pip install xlrd

После установки мы можем использовать следующий код для импорта и объединения этих трех листов в один DataFrame Pandas:

 #load pandas library
import pandas as pd

#import and combine the three sheets into one pandas DataFrame
df = pd. concat (pd. read_excel ('data.xlsx', sheet_name= None ), ignore_index= True )

#view DataFrame
df

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12
10K 9
11 L 5
12 M 5
13 N 13
14 O 17

Как работает этот код

Чтобы понять, как эта единственная строка кода может импортировать и объединять несколько листов Excel, нужно всего две части:

1. Прочитайте все листы.

 p.d. read_excel ('data.xlsx', sheet_name= None )

Этот фрагмент кода читается на всех листах книги Excel. По умолчанию функция read_excel() считывает только первый лист, но, указавsheet_name =None, мы можем прочитать каждый лист в книге Excel.

2. Объедините все листы.

 p.d. concat ( DataFrames to concatenate , ignore_index= True )

Этот фрагмент кода просто объединяет все DataFrame из каждого листа Excel в один DataFrame pandas. Указывая ignore_index=True , мы сообщаем пандам, что отдельные имена листьев не важны.

Обратите внимание, что этот код работает только в том случае, если все листы Excel имеют одинаковый формат. В этом примере на каждом листе было два столбца данных, и каждый столбец имел одно и то же имя, поэтому эта единственная строка кода так легко объединила каждый лист Excel в один DataFrame pandas.

Дополнительные ресурсы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *