Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo biểu đồ trong Excel bằng Python với openpyxl


Hướng dẫn tạo biểu đồ cột (BarChart) trong file Excel .xlsx dùng module openpyxl.

Các bước:

  1. Cài đặt: pip install openpyxl.
  2. Tạo workbook, sheet, ghi dữ liệu (ví dụ: cầu thủ tennis và số Grand Slam).
  3. Lưu file, đọc lại để xác nhận.
  4. Import BarChart, Reference từ openpyxl.chart.
  5. Cấu hình biểu đồ: title, trục x/y.
  6. Tạo Reference trỏ đến vùng dữ liệu (bỏ header).
  7. chart.add_data(data, from_rows=True, titles_from_data=True).
  8. Thêm biểu đồ vào sheet: sheet.add_chart(chart, "A6").
  9. Lưu file.

Ví dụ hoàn chỉnh

import openpyxl
from openpyxl.chart import BarChart, Reference

file_name = "charts.xlsx"
file_data = (['player','titles'], ['Federer',20], ['Nadal',20], ['Djokovic',17], ['Murray',3])

xlsxfile = openpyxl.Workbook()
sheet = xlsxfile['Sheet']
for row, (player, titles) in enumerate(file_data, 1):
    sheet[f'A{row}'].value = player
    sheet[f'B{row}'].value = titles
xlsxfile.save(file_name)

wb = openpyxl.load_workbook(file_name)
ws = wb['Sheet']
chart = BarChart()
chart.title = "Players & Grand Slams"
chart.y_axis.title = 'Titles'
chart.x_axis.title = 'Tennis Players'
data = Reference(ws, min_row=2, max_row=5, min_col=1, max_col=2)
chart.add_data(data, from_rows=True, titles_from_data=True)
ws.add_chart(chart, "A6")
wb.save(file_name)

Kết quả

File charts.xlsx chứa bảng dữ liệu và biểu đồ cột.