Tôi có thể sử dụng gấu trúc trong excel không?

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('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

Tôi có thể sử dụng gấu trúc trong excel không?
Tôi có thể sử dụng gấu trúc trong excel không?
Một Excel có định dạng bất thường

Nế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ả sau

import 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('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

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('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

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('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, 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('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

Sự 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

Chúng ta có thể sử dụng gấu trúc cho Excel không?

Các tác vụ như làm sạch dữ liệu, chuẩn hóa dữ liệu, trực quan hóa và phân tích thống kê có thể được thực hiện trên cả Excel và Pandas .

Bạn có thể sử dụng Python trong Excel không?

Có nhiều gói Python khác nhau để làm việc với Excel. Phần lớn trong số này là để đọc và ghi các tệp Excel (e. g. openpyxl và xlsxwriter). PyXLL rất khác với các gói khác này. Thay vì chỉ cho phép bạn đọc và ghi tệp Excel, PyXLL tích hợp Python vào Excel .