Trong phần này, tôi sẽ trình bày cách sử dụng thư viện Pandas với Excel. Chúng tôi sẽ sử dụng các thao tác bảng excel cơ bản như tạo trang tính mới, thêm dữ liệu hàng loạt, nối thêm dữ liệu, đọc dữ liệu, định dạng dữ liệu và thêm biểu đồ
Cài đặt
Thực hiện các lệnh sau để cài đặt các thư viện Pandas, xlsxwriter, xlrd và openpyxl
pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl
Tạo một trang tính Excel
import pandas as pdwriter = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']writer.close[]
Mã này sẽ tạo một tệp
Name Age
0 A 10
1 B 0
2 C 30
3 D 50
9 mới với trang tính mặc định có tên là # Reading an Excel file in Pandas
import pandas as pd
df = pd.read_excel['//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
0Nếu chúng tôi đọc tờ
import pandas as pd
# dataframe Name and Age columns
df = pd.DataFrame[{'Name': ['A', 'B', 'C', 'D'],
'Age': [10, 0, 30, 50]}]
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel[writer, sheet_name='Sheet1', index=False]
# Close the Pandas Excel writer and output the Excel file.
writer.close[]
25, chúng tôi sẽ nhận được kết quả sauimport pandas as pdreader = pd.read_excel[r'demo.xlsx']print[reader]5
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 tham số
import pandas as pdwriter = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']writer.close[]12. 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['//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['//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úcHã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['//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
1Trong 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
import pandas as pd
# dataframe Name and Age columns
df = pd.DataFrame[{'Name': ['A', 'B', 'C', 'D'],
'Age': [10, 0, 30, 50]}]
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel[writer, sheet_name='Sheet1', index=False]
# Close the Pandas Excel writer and output the Excel file.
writer.close[]
28 để 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 tôi có thể truy cập vào Khung dữ liệu
import pandas as pdwriter = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']writer.close[]18
# Reading an Excel file in Pandas
import pandas as pd
df = pd.read_excel['//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
2Bạ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
import pandas as pd
# dataframe Name and Age columns
df = pd.DataFrame[{'Name': ['A', 'B', 'C', 'D'],
'Age': [10, 0, 30, 50]}]
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel[writer, sheet_name='Sheet1', index=False]
# Close the Pandas Excel writer and output the Excel file.
writer.close[]
50 cho giá trị của # Reading an Excel file in Pandas
import pandas as pd
df = pd.read_excel['//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['//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
3Trong 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, có thể hữu ích nếu chỉ lấy mẫu một tập hợp con dữ liệu nhỏ trước. Đ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ố
import pandas as pdwriter = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']writer.close[]13, 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['//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
4Sự 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
import pandas as pdwriter = pd.ExcelWriter['demo.xlsx', engine='xlsxwriter']writer.close[]14. 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