Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างกราฟใน Excel ด้วย Python และ openpyxl

สร้างไฟล์ Excel พร้อม Bar Chart จากข้อมูล Grand Slam ของนักเทนนิส

ขั้นตอน

  1. ติดตั้ง: pip install openpyxl
  2. สร้าง Workbook และ Sheet
  3. เขียนข้อมูลหัวข้อและแถวข้อมูล
  4. Import BarChart, Reference จาก openpyxl.chart
  5. ตั้งค่าชาร์ท: title, axis titles
  6. สร้าง Reference ชี้ช่วงข้อมูล
  7. เพิ่มข้อมูลลงชาร์ทด้วย add_data()
  8. วางชาร์ทบน Sheet และ Save

ตัวอย่างโค้ดเต็ม

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()
new_workbook = xlsxfile['Sheet']

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

xlsxfile.save(file_name)

# โหลดกลับมาเพื่อสร้างชาร์ท
excel_file_data = openpyxl.load_workbook(file_name)
sheet_values = excel_file_data['Sheet']

chart = BarChart()
chart.title = "Players & Grand Slams"
chart.y_axis.title = 'Titles'
chart.x_axis.title = 'Tennis Players'

data = Reference(sheet_values, min_row=2, max_row=5, min_col=1, max_col=2)
chart.add_data(data, from_rows=True, titles_from_data=True)

new_workbook.add_chart(chart, "A6")
xlsxfile.save(file_name)

ผลลัพธ์

ได้ไฟล์ charts.xlsx พร้อม Bar Chart แสดงข้อมูล