脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 利用Python生成Excel炫酷图表

利用Python生成Excel炫酷图表

2022-10-17 10:35IT邦德 Python

XlsxWriter是一个用来写Excel2007和xlsx文件格式的python模块。它可以用来写文本、数字、公式并支持单元格格式化、图片、图表、文档配置、自动过滤等特性。本文将用这个模块生成酷炫的Excel图表,需要的可以参考一下

前言

本文对Python 自动化操作Excel并生成图表,做了详细的分析和说明

我们先来看一下python中能操作Excel的常用库对比

利用Python生成Excel炫酷图表

 

1.xlswriter库

XlsxWriter是一个用来写Excel2007和xlsx文件格式的python模块。它可以用来写文本、数字、公式并支持单元格格式化、图片、图表、文档配置、自动过滤等特性

优点:功能更多、文档高保真、扩展格式类型、更快并可配置

缺点:不能用来读取和修改excel文件

官方文档:xlsxwriter.readthedocs.io/

 

2.生成折线图

# -*- coding:utf-8 -*-

import xlsxwriter

# 创建一个excel
workbook = xlsxwriter.Workbook("chart_line.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()
# worksheet = workbook.add_worksheet("bug_analysis")

# 自定义样式,加粗
bold = workbook.add_format({"bold": 1})

# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
headings = ["Number", "testA", "testB"]
data = [
    ["2017-9-1", "2017-9-2", "2017-9-3", "2017-9-4", "2017-9-5", "2017-9-6"],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]

# 写入表头
worksheet.write_row("A1", headings, bold)

# 写入数据
worksheet.write_column("A2", data[0])
worksheet.write_column("B2", data[1])
worksheet.write_column("C2", data[2])

# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(line chart)
chart_col = workbook.add_chart({"type": "line"})

# 配置第一个系列数据
chart_col.add_series({
    # 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名
    # 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值
    "name": "=Sheet1!$B$1",
    "categories": "=Sheet1!$A$2:$A$7",
    "values":   "=Sheet1!$B$2:$B$7",
    "line": {"color": "red"},
})

# 配置第二个系列数据
chart_col.add_series({
    "name": "=Sheet1!$C$1",
    "categories":  "=Sheet1!$A$2:$A$7",
    "values":   "=Sheet1!$C$2:$C$7",
    "line": {"color": "yellow"},
})

# 配置第二个系列数据(用了另一种语法)
# chart_col.add_series({
#     "name": ["Sheet1", 0, 2],
#     "categories": ["Sheet1", 1, 0, 6, 0],
#     "values": ["Sheet1", 1, 2, 6, 2],
#     "line": {"color": "yellow"},
# })

# 设置图表的title 和 x,y轴信息
chart_col.set_title({"name": "The xxx site Bug Analysis"})
chart_col.set_x_axis({"name": "Test number"})
chart_col.set_y_axis({"name":  "Sample length (mm)"})

# 设置图表的风格
chart_col.set_style(1)

# 把图表插入到worksheet并设置偏移
worksheet.insert_chart("A10", chart_col, {"x_offset": 25, "y_offset": 10})

workbook.close()

利用Python生成Excel炫酷图表

 

3.生成柱状图

# -*- coding:utf-8 -*-

import xlsxwriter

# 创建一个excel
workbook = xlsxwriter.Workbook("chart_column.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()
# worksheet = workbook.add_worksheet("bug_analysis")

# 自定义样式,加粗
bold = workbook.add_format({"bold": 1})

# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
headings = ["Number", "testA", "testB"]
data = [
    ["2017-9-1", "2017-9-2", "2017-9-3", "2017-9-4", "2017-9-5", "2017-9-6"],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]

# 写入表头
worksheet.write_row("A1", headings, bold)

# 写入数据
worksheet.write_column("A2", data[0])
worksheet.write_column("B2", data[1])
worksheet.write_column("C2", data[2])

# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(column chart)
chart_col = workbook.add_chart({"type": "column"})

# 配置第一个系列数据
chart_col.add_series({
    # 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名
    # 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值
    "name": "=Sheet1!$B$1",
    "categories": "=Sheet1!$A$2:$A$7",
    "values":   "=Sheet1!$B$2:$B$7",
    "line": {"color": "red"},
})

# 配置第二个系列数据(用了另一种语法)
chart_col.add_series({
    "name": "=Sheet1!$C$1",
    "categories":  "=Sheet1!$A$2:$A$7",
    "values":   "=Sheet1!$C$2:$C$7",
    "line": {"color": "yellow"},
})

# 配置第二个系列数据(用了另一种语法)
# chart_col.add_series({
#     "name": ["Sheet1", 0, 2],
#     "categories": ["Sheet1", 1, 0, 6, 0],
#     "values": ["Sheet1", 1, 2, 6, 2],
#     "line": {"color": "yellow"},
# })

# 设置图表的title 和 x,y轴信息
chart_col.set_title({"name": "The xxx site Bug Analysis"})
chart_col.set_x_axis({"name": "Test number"})
chart_col.set_y_axis({"name":  "Sample length (mm)"})

# 设置图表的风格
chart_col.set_style(1)

# 把图表插入到worksheet以及偏移
worksheet.insert_chart("A10", chart_col, {"x_offset": 25, "y_offset": 10})
workbook.close()

利用Python生成Excel炫酷图表

 

4.生成饼图

# -*- coding:utf-8 -*-

import xlsxwriter

# 创建一个excel
workbook = xlsxwriter.Workbook("chart_pie.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()

# 自定义样式,加粗
bold = workbook.add_format({"bold": 1})

# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
data = [
    ["closed", "active", "reopen", "NT"],
    [1012, 109, 123, 131],
]

# 写入数据
worksheet.write_row("A1", data[0], bold)
worksheet.write_row("A2", data[1])

# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(pie chart)
chart_col = workbook.add_chart({"type": "pie"})

# 配置第一个系列数据
chart_col.add_series({
    "name": "Bug Analysis",
    "categories": "=Sheet1!$A$1:$D$1",
    "values": "=Sheet1!$A$2:$D$2",
    "points": [
        {"fill": {"color": "#00CD00"}},
        {"fill": {"color": "red"}},
        {"fill": {"color": "yellow"}},
        {"fill": {"color": "gray"}},
    ],

})

# 设置图表的title 和 x,y轴信息
chart_col.set_title({"name": "Bug Analysis"})

# 设置图表的风格
chart_col.set_style(10)

# 把图表插入到worksheet以及偏移
worksheet.insert_chart("B10", chart_col, {"x_offset": 25, "y_offset": 10})
workbook.close()

利用Python生成Excel炫酷图表

 

5.实战拓展

xlswriter新建并写入Excel

# 3.6.2 xlswriter新建并写入Excel
def fun3_6_2():
    # 创建Exce并添加sheet
    workbook = xlsxwriter.Workbook("demo.xlsx")
    worksheet = workbook.add_worksheet()

    # 设置列宽
    worksheet.set_column("A:A", 20)

    # 设置格式
    bold = workbook.add_format({"bold": True})

    # 添加文字内容
    worksheet.write("A1", "Hello")

    # 按格式添加内容
    worksheet.write("A2", "World", bold)

    # 写一些数字
    worksheet.write(2, 0, 123)
    worksheet.write(3, 0, 123.456)

    # 添加图片
    worksheet.insert_image("B5", "demo.png")

    workbook.close()

利用Python生成Excel炫酷图表

以上就是利用Python生成Excel炫酷图表的详细内容,更多关于Python Excel图表的资料请关注服务器之家其它相关文章!

原文地址:https://blog.csdn.net/weixin_41645135/article/details/123161007

延伸 · 阅读

精彩推荐
  • Pythonpytorch 运行一段时间后出现GPU OOM的问题

    pytorch 运行一段时间后出现GPU OOM的问题

    这篇文章主要介绍了pytorch 运行一段时间后出现GPU OOM的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    ASR_THU9302021-11-20
  • Pythonpython实现Windows电脑定时关机

    python实现Windows电脑定时关机

    这篇文章主要为大家详细介绍了python实现Windows电脑定时关机功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    xyjigsaw10552021-03-07
  • Pythonpython中if嵌套命令实例讲解

    python中if嵌套命令实例讲解

    在本篇文章里小编给大家整理的是一篇关于python中if嵌套命令实例讲解内容,有兴趣的朋友们可以学习下。...

    宋雪维5352021-09-09
  • PythonPython matplotlib超详细教程实现图形绘制

    Python matplotlib超详细教程实现图形绘制

    matplotlib 模块不仅提供了绘制统计图表的功能,还支持绘制圆形、正方形、矩形等各种图形。这篇文章主要为大家详细介绍了利用matplotlib.patches 绘制一些基...

    编程简单学10912022-03-11
  • PythonPython操作MySQL数据库的方法

    Python操作MySQL数据库的方法

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。接下来通过本文给大家介绍Python操作MySQL数据库的方法,感兴趣的朋友一起看看吧...

    IT拾荒者8232021-03-06
  • Python在Python中COM口的调用方法

    在Python中COM口的调用方法

    今天小编就为大家分享一篇在Python中COM口的调用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    呱呱王子5602021-07-30
  • Pythonpython编写爬虫小程序

    python编写爬虫小程序

    我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。...

    Python教程网6982020-06-28
  • PythonPython关于OS文件目录处理的实例分享

    Python关于OS文件目录处理的实例分享

    在本篇文章里小编给大家整理的是一篇关于Python关于OS文件目录处理的实例内容,有兴趣的朋友们可以学一下。...

    Z_Queen11062021-11-10