Làm cách nào để đọc Excel vào DataFrame của gấu trúc?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python và Pandas để đọc các tệp Excel bằng hàm Pandas read_excel. Các tệp Excel ở khắp mọi nơi – và mặc dù chúng có thể không phải là loại dữ liệu lý tưởng đối với nhiều nhà khoa học dữ liệu, nhưng biết cách làm việc với chúng là một kỹ năng cần thiết

Đến cuối hướng dẫn này, bạn sẽ học được

  • Cách sử dụng hàm Pandas read_excel để đọc tệp Excel
  • Cách đọc chỉ định tên trang tính Excel để đọc vào Pandas
  • Cách đọc nhiều trang tính hoặc tệp Excel
  • Cách sắp xếp các cột nhất định từ tệp Excel trong Pandas
  • Cách bỏ qua hàng khi đọc tệp Excel trong Pandas
  • Và nhiều hơn nữa

Bắt đầu nào

Mục lục

Câu trả lời nhanh. Sử dụng Pandas read_excel để đọc tệp Excel

Để đọc tệp Excel trong Python Pandas, hãy sử dụng hàm ________ 05. Bạn có thể chỉ định đường dẫn đến tệp và tên trang tính để đọc, như hình bên dưới

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)

Trong các phần tiếp theo của hướng dẫn này, bạn sẽ tìm hiểu thêm về hàm Pandas

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
5 để hiểu rõ hơn về cách tùy chỉnh cách đọc tệp Excel

Hiểu chức năng read_excel của Pandas

Hàm Pandas

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
5 có rất nhiều tham số khác nhau. Trong hướng dẫn này, bạn sẽ học cách sử dụng các tham số chính có sẵn để mang lại sự linh hoạt đáng kinh ngạc về cách bạn đọc các tệp Excel trong Pandas

Tham số Mô tả Tùy chọn có sẵn_______08Đường dẫn chuỗi đến sổ làm việc. URL tới tệp, đường dẫn tới tệp, v.v.
# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
9Tên sheet cần đọc. Sẽ mặc định là trang tính đầu tiên trong sổ làm việc (vị trí 0). Có thể đọc chuỗi (đối với tên trang tính), số nguyên (đối với vị trí) hoặc danh sách (đối với nhiều trang tính)
Sales.xlsx
|---East
|---West
|---North
0Các cột cần đọc, nếu không phải tất cả các cột sẽ được đọcCó thể là các chuỗi cột, cột kiểu Excel (“A. C”), hoặc các số nguyên đại diện cho các vị trí cột
Sales.xlsx
|---East
|---West
|---North
1Các kiểu dữ liệu sẽ sử dụng cho từng cộtTừ điển với các cột là khóa và các loại dữ liệu là các giá trị
Sales.xlsx
|---East
|---West
|---North
2Số lượng hàng cần bỏ qua từ trên cùngGiá trị số nguyên đại diện cho số lượng hàng cần bỏ qua
Sales.xlsx
|---East
|---West
|---North
3Số lượng hàng cần phân tích Giá trị nguyên đại diện cho số lượng

Bảng trên nêu bật một số tham số chính có sẵn trong hàm Pandas

Sales.xlsx
|---East
|---West
|---North
4. Danh sách đầy đủ có thể được tìm thấy trong tài liệu chính thức. Trong các phần sau, bạn sẽ tìm hiểu cách sử dụng các tham số hiển thị ở trên để đọc các tệp Excel theo nhiều cách khác nhau bằng Python và Pandas

Cách đọc tệp Excel trong Pandas read_excel

Như đã trình bày ở trên, cách dễ nhất để đọc tệp Excel bằng Pandas là chỉ cần chuyển đường dẫn tệp tới tệp Excel. Tham số

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
8 là tham số đầu tiên, vì vậy bạn chỉ cần chuyển chuỗi vào tệp

Tham số chấp nhận cả đường dẫn đến tệp, đường dẫn HTTP, đường dẫn FTP hoặc hơn thế nữa. Hãy xem điều gì sẽ xảy ra khi chúng tôi đọc trong tệp Excel được lưu trữ trên trang Github của tôi

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969

Nếu bạn đã tải xuống tệp và xem qua tệp đó, bạn sẽ nhận thấy rằng tệp có ba trang tính?

Trong phần sau, bạn sẽ tìm hiểu cách chỉ định trang tính nào bạn muốn tải vào DataFrame

Cách chỉ định tên trang tính Excel trong Pandas read_excel

Như đã trình bày trong phần trước, bạn đã biết rằng khi không có trang tính nào được chỉ định, Pandas sẽ tải trang tính đầu tiên trong sổ làm việc Excel. Trong sổ làm việc được cung cấp, có ba trang tính theo cấu trúc sau

Sales.xlsx
|---East
|---West
|---North

Do đó, chúng tôi biết rằng dữ liệu từ trang tính “Đông” đã được tải. Nếu chúng tôi muốn tải dữ liệu từ trang tính “Tây”, chúng tôi có thể sử dụng tham số

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
9 để chỉ định trang tính nào chúng tôi muốn tải

Tham số chấp nhận cả chuỗi cũng như số nguyên. Nếu chúng ta truyền vào một chuỗi, chúng ta có thể chỉ định tên trang tính mà chúng ta muốn tải

Hãy xem cách chúng ta có thể chỉ định tên trang tính cho

Sales.xlsx
|---East
|---West
|---North
8

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
7

Tương tự, chúng ta có thể tải tên trang tính theo vị trí của nó. Theo mặc định, Pandas sẽ sử dụng vị trí của

Sales.xlsx
|---East
|---West
|---North
9, sẽ tải trang tính đầu tiên. Giả sử chúng ta muốn lặp lại ví dụ trước đó và tải dữ liệu từ trang tính có tên
Sales.xlsx
|---East
|---West
|---North
8, chúng ta cần biết vị trí của trang tính

Bởi vì chúng tôi biết trang tính là trang tính thứ hai, chúng tôi có thể chuyển vào chỉ mục thứ nhất

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
0

Chúng ta có thể thấy rằng cả hai phương thức này đều trả về cùng một dữ liệu của trang tính. Trong phần sau, bạn sẽ tìm hiểu cách chỉ định cột nào sẽ tải khi sử dụng hàm read_excel của Pandas

Cách chỉ định tên cột trong Pandas read_excel

Có thể nhiều khi bạn không muốn tải từng cột trong tệp Excel. Điều này có thể là do tệp có quá nhiều cột hoặc có các cột khác nhau cho các trang tính khác nhau

Để làm điều này, chúng ta có thể sử dụng tham số

Sales.xlsx
|---East
|---West
|---North
0. Đó là một tham số rất linh hoạt cho phép bạn chỉ định

  • Một danh sách các tên cột,
  • Một chuỗi các phạm vi cột Excel,
  • Một danh sách các số nguyên chỉ định các chỉ số cột để tải

Thông thường nhất, bạn sẽ gặp những người sử dụng danh sách tên cột để đọc. Mỗi cột này là các chuỗi được phân tách bằng dấu phẩy, được chứa trong một danh sách

Hãy tải DataFrame của chúng tôi từ ví dụ trên, chỉ lần này chỉ tải các cột

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
72 và
# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
73

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
4

Chúng ta có thể thấy rằng bằng cách chuyển vào danh sách các chuỗi đại diện cho các cột, chúng ta chỉ có thể phân tích cú pháp các cột đó

Nếu chúng tôi muốn sử dụng các thay đổi của Excel, chúng tôi cũng có thể chỉ định các cột

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
74. Hãy xem nó trông như thế nào dưới đây

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
6

Cuối cùng, chúng ta cũng có thể chuyển vào một danh sách các số nguyên đại diện cho vị trí của các cột mà chúng ta muốn tải. Vì các cột là cột thứ hai và thứ ba, chúng tôi sẽ tải danh sách các số nguyên như hình bên dưới

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
7

Trong phần sau, bạn sẽ học cách chỉ định kiểu dữ liệu khi đọc tệp Excel

Cách chỉ định các loại dữ liệu trong Pandas read_excel

Pandas giúp dễ dàng chỉ định kiểu dữ liệu của các cột khác nhau khi đọc tệp Excel. Điều này phục vụ ba mục đích chính

  1. Ngăn chặn dữ liệu bị đọc sai
  2. Tăng tốc hoạt động đọc
  3. Tiết kiệm bộ nhớ

Bạn có thể chuyển vào một từ điển trong đó các khóa là các cột và các giá trị là các kiểu dữ liệu. Điều này đảm bảo rằng dữ liệu đã sẵn sàng một cách chính xác. Hãy xem cách chúng tôi có thể chỉ định các loại dữ liệu cho các cột của mình

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
8

Điều quan trọng cần lưu ý là bạn không cần phải chuyển vào tất cả các cột để điều này hoạt động. Trong phần tiếp theo, bạn sẽ tìm hiểu cách bỏ qua các hàng khi đọc tệp Excel

Cách bỏ qua hàng khi đọc tệp Excel trong Pandas

Trong một số trường hợp, bạn sẽ gặp các tệp có các hàng tiêu đề được định dạng trong tệp Excel của mình, như minh họa bên dưới

Làm cách nào để đọc Excel vào DataFrame của gấu trúc?
Một Excel có định dạng bất thường

Nếu chúng tôi đọc tờ

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
75, chúng tôi sẽ nhận được kết quả sau

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
0

Pandas giúp dễ dàng bỏ qua một số hàng nhất định khi đọc tệp Excel. Điều này có thể được thực hiện bằng cách sử dụng tham số

Sales.xlsx
|---East
|---West
|---North
2. Chúng ta có thể thấy rằng chúng ta cần bỏ qua hai hàng, vì vậy chúng ta chỉ cần chuyển vào giá trị 2, như hình bên dưới

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
0

Điều này đọc các tập tin chính xác hơn nhiều. Nó có thể là cứu cánh khi làm việc với các tệp có định dạng kém. Trong phần tiếp theo, bạn sẽ tìm hiểu cách đọc nhiều trang tính trong một tệp Excel trong Pandas

Cách đọc nhiều trang tính trong một tệp Excel trong Pandas

Pandas giúp bạn dễ dàng đọc nhiều trang cùng một lúc. Điều này có thể được thực hiện bằng cách sử dụng tham số

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
9. Trong các ví dụ trước của chúng tôi, chúng tôi chỉ chuyển vào một chuỗi duy nhất để đọc một trang tính. Tuy nhiên, bạn cũng có thể chuyển vào danh sách các trang tính để đọc nhiều trang tính cùng một lúc

Hãy xem làm thế nào chúng ta có thể đọc hai tờ đầu tiên của chúng tôi

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
1

Trong ví dụ trên, chúng tôi đã chuyển vào một danh sách các trang tính để đọc. Khi chúng tôi sử dụng hàm

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)
78 để kiểm tra loại giá trị được trả về, chúng tôi thấy rằng một từ điển đã được trả về

Mỗi trang tính là một khóa của từ điển với DataFrame là giá trị của khóa tương ứng. Hãy xem cách chúng ta có thể truy cập vào Khung dữ liệu

Sales.xlsx
|---East
|---West
|---North
8

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
2

Bạn cũng có thể đọc tất cả các trang tính cùng một lúc bằng cách chỉ định

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
00 cho giá trị của
# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
9. Tương tự, điều này trả về một từ điển của tất cả các trang tính

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
3

Trong phần tiếp theo, bạn sẽ học cách đọc nhiều tệp Excel trong Pandas

Cách chỉ đọc n dòng khi đọc tệp Excel trong Pandas

Khi làm việc với các tệp Excel rất lớn, trước tiên, có thể hữu ích khi chỉ lấy mẫu một tập hợp con dữ liệu nhỏ. Điều này cho phép bạn nhanh chóng tải tệp để có thể khám phá các cột và loại dữ liệu khác nhau tốt hơn

Điều này có thể được thực hiện bằng cách sử dụng tham số

Sales.xlsx
|---East
|---West
|---North
3, chấp nhận giá trị số nguyên của số hàng bạn muốn đọc vào DataFrame của mình. Hãy xem cách chúng ta có thể đọc năm hàng đầu tiên của trang tính Excel

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969
4

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python và Pandas để đọc tệp Excel vào DataFrame bằng hàm

Sales.xlsx
|---East
|---West
|---North
4. Bạn đã học cách sử dụng hàm để đọc Excel, chỉ định tên trang tính, chỉ đọc các cột cụ thể và chỉ định loại dữ liệu. Sau đó, bạn đã học cách bỏ qua các hàng, chỉ đọc một số hàng nhất định và đọc nhiều trang tính

Làm cách nào để đọc dữ liệu từ tệp excel bằng gấu trúc?

Các bước để nhập tệp Excel vào Python bằng Pandas .
Bước 1. Chụp đường dẫn tập tin. Trước tiên, hãy chụp lại đường dẫn đầy đủ nơi tệp Excel được lưu trữ trên máy tính của bạn. .
Bước 2. Áp dụng mã Python. .
Bước 3. Chạy mã Python để nhập tệp Excel

Làm cách nào để đọc một cột từ tệp excel trong Python bằng gấu trúc?

Đọc dữ liệu của bất kỳ cột nào trong excel .
tạo bảng tính Excel với các tiêu đề có tên Header1, Header2, Header1, Header2 dưới các cột A, B, C, D
df. read_excel(tên tệp, usecols='C. D')

Chúng tôi có thể đọc tệp xlsx trong gấu trúc không?

Đọc tệp Excel vào DataFrame của gấu trúc. Hỗ trợ các phần mở rộng tệp xls , xlsx , xlsm , xlsb , odf , ods và odt được đọc từ hệ thống tệp cục bộ hoặc URL . Hỗ trợ tùy chọn đọc một trang tính hoặc danh sách các trang tính. Mọi đường dẫn chuỗi hợp lệ đều được chấp nhận.

Gấu trúc có thể đọc CSV đọc excel không?

Một tính năng quan trọng của Pandas là khả năng viết và đọc Excel, CSV và nhiều loại tệp khác . Các hàm như phương thức read_csv() của Pandas cho phép bạn làm việc với các tệp một cách hiệu quả.