Cách tạo biểu đồ trong excel bằng python

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách tạo biểu đồ trong excel bằng Python - Openpyxl module. Chúng tôi sẽ tạo một bảng tính excel từ đầu với các danh hiệu grandslam của người chơi Quần vợt làm dữ liệu để tạo biểu đồ thanh bằng mô-đun openpyxl

Giới thiệu

Microsoft office đã bắt đầu cung cấp một tiện ích mở rộng mới cho các trang tính Microsoft Excel, đó là. xlsx, từ Office 2007 để hỗ trợ lưu trữ nhiều hàng và cột hơn. Thay đổi này đã chuyển các trang tính Excel sang định dạng tệp dựa trên XML với tính năng nén ZIP. Thế giới được cai trị bởi bảng tính của Microsoft, mọi người đã sử dụng bảng tính cho nhiều mục đích khác nhau và một trong những trường hợp sử dụng là để trực quan hóa dữ liệu

Sẵn sàng

Mô-đun xlrd của Python, một giải pháp thay thế cho mô-đun Openpyxl hỗ trợ tốt các định dạng Excel, tuy nhiên mô-đun này có thể thực hiện các thao tác chỉ đọc trên bảng tính excel. Mô-đun openpyxl có thể thực hiện cả thao tác đọc và ghi trên trang tính Excel

Làm thế nào để làm nó

1). Trước tiên chúng ta hãy cài đặt mô-đun openpyxl bằng cách sử dụng

pip install openpyxl.

2). Xác định dữ liệu để tạo bảng tính excel mới

# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])

3). Tạo một tệp Excel mới. Điều này tạo ra một trang tính mặc định, được gọi là Trang tính

xlsxfile = openpyxl.Workbook()
print(f" *** The sheets inside the excel_file are = {xlsxfile.sheetnames}")
new_workbook = xlsxfile['Sheet']
*** The sheets inside the excel_file are = ['Sheet']

4). Thêm dữ liệu về các vận động viên quần vợt và các danh hiệu grandslam của họ vào trang tính này

for row, (player,titles) in enumerate(file_data, 1):
new_workbook['A{}'.format(row)].value = player
new_workbook['B{}'.format(row)].value = titles

5). Cuối cùng lưu dữ liệu vào file_file_name

xlsxfile.save(file_name)

6). Tải tệp vào bộ nhớ và liệt kê tất cả các trang tính. Lưu ý rằng chúng tôi chỉ tạo một trang tính như một phần của bước 2

import openpyxl
excel_file_data = openpyxl.load_workbook(file_name)
excel_file_data.sheetnames
['Sheet']

7). Lấy trang tính đầu tiên và lấy giá trị của các ô, cho e. g A2 và B2

sheet_values = excel_file_data['Sheet']
print(f" *** One of the value from the sheet is - {sheet_values['A2'].value} - {sheet_values['B2'].value}")
*** One of the value from the sheet is - Federer - 20

số 8). Xuất tất cả các hàng và cột trong bảng tính của chúng tôi, chỉ để đảm bảo rằng chúng tôi đã chèn dữ liệu của mình đúng cách cho các biểu đồ

# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
0
# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
1

9). Nhập mô-đun BarChart, Tham khảo từ openpyxl. biểu đồ và tạo đối tượng Barchart

# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
2
# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
3
# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
4
# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
5

Bước 11 tạo một hộp tham chiếu thông qua một đối tượng Tham chiếu, từ hàng 2 cột 1 đến hàng 5 cột 2, là khu vực chứa dữ liệu của chúng tôi, tiêu đề ngoại lệ được loại trừ

Dữ liệu được thêm vào biểu đồ với. phương thức add_data(). from_rows - biến mỗi hàng thành một chuỗi dữ liệu khác nhau. title_from_data - sử dụng cột đầu tiên để đặt tên cho chuỗi

Ví dụ

Chúng tôi sẽ đặt mọi thứ được giải thích ở trên cùng nhau

# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
6
# import the module
import openpyxl

# Define your file name and data
file_name = "charts.xlsx"
file_data = (['player', 'titles'], ['Federer', 20], ['Nadal', 20], ['Djokovic', 17], ['Murray', 3])
7

đầu ra

Khi chương trình trên được thực thi, biểu đồ. xlsx sẽ được tạo trong cùng thư mục với mã này bên dưới

nhập gấu trúc dưới dạng pd. nhà văn = pd. ExcelWriter('farm_data. xlsx', engine='xlsxwriter') df. to_excel(nhà văn, sheet_name='Sheet1') sổ làm việc = nhà văn. bảng tính sách = nhà văn. sheet['Sheet1'] chart = sổ làm việc. add_chart({'type'. 'cột'})

Chương trình Python nào dùng để chuẩn bị biểu đồ Excel?

Điều kiện tiên quyết. Đọc và ghi vào trang tính excel bằng openpyxl Openpyxl là một thư viện Python mà người dùng có thể thực hiện nhiều thao tác trên các tệp excel như đọc, viết, phép tính số học và vẽ biểu đồ

Làm cách nào để vẽ dữ liệu excel trong matplotlib?

Nhập mô-đun Matplotlib và Pandas và đọc tệp excel bằng phương thức Pandas read_excel(). Sau khi đọc dữ liệu cho trục x và trục y từ tệp excel. Vẽ biểu đồ bằng thư viện Matplotlib. Ở đây, chúng tôi đang vẽ biểu đồ thanh do đó sử dụng phương thức bar() và phương thức show() để hiển thị biểu đồ