文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python怎么实现在Excel文件中写入图表

2023-06-30 15:31

关注

这篇“Python怎么实现在Excel文件中写入图表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现在Excel文件中写入图表”文章吧。

先来看一下所需要的几个函数(这些函数都是通过工作簿执行出来的)。

函数名说明参数
add_chart()创建图表对象{type:样式}
add_series()定义需要展示的数据字典
set_title()定义图表title字符串

add_series 参数

参数说明
categories展示的标题 =Sheet1!$A$1:$A$4
Shert1:工作簿名称
$A1 : 1:1:A$4 表示从第A行的第一个值到第四个值去展示标题
values展示的数据=Sheet1!$B1 : 1:1:B$4
Shert1:工作簿名称
$B1 : 1:1:B$4 表示从第A行的第一个值到第四个值去展示标题
name表名 

$A$1:$A$4 表示从第A行的第一个值到第四个值去展示标题

图表的样式

样式名说明
area区域样式表
bar条形样式表
column柱状样式表
line线条样式表
pie饼图样式表
doughnut圆环样式表
scatter散点样式表
stock库存样式表
rader雷达样式表

结合 study.xlsx 文件 将学生成绩以表图形式展示

这里继续使用上一章节的 “将项目中的 study.xlsx 文件的内容写入 write.xlsx” 的案例;

代码示例如下:

# coding:utf-8import xlsxwriterimport xlrd# excel = xlsxwriter.Workbook('write.xlsx')       # 初始化 excel 对象# book = excel.add_worksheet('study')             # 添加工作簿## title = ['姓名', '性别', '年龄', '成绩', '等级']   # 定义 write.xlsx 的首行内容## for index, data in enumerate(title):        # for循环 利用枚举函数将 title 的内容写入 "write.xlsx" 的首行#     book.write(0, index, data)# excel.close()def read():             # 定义一个 read 函数读取 "study.xlsx" 文件    result = []    excel = xlrd.open_workbook('study.xlsx')    book = excel.sheet_by_name('学生手册')    for i in book.get_rows():        content = []        for j in i:            content.append(j.value)        result.append(content)    return resultdef write(content):     # 定义一个 write 函数 将读取到 "study.xlsx" 的内容写入到 "write.xlsx" 文件    excel = xlsxwriter.Workbook('write.xlsx')    book = excel.add_worksheet('study')    for index, data in enumerate(content):        print(data)        for sub_index, sub_data in enumerate(data):            # print(sub_index, sub_data)            book.write(index, sub_index, sub_data)    book1 = excel.add_worksheet('学生等级')     # 定义 "学生等级" 工作簿    data = [                                   # 定义 data 列表 用以存放学生成绩所处等级与数量        ['优秀', '良好', '中', '差'],        [15, 25, 55, 5]    ]    book1.write_column('A1', data[0])       # write_column() 函数,按行添加(即 A1 行添加 data 列表的 0 索引的内容)    book1.write_column('B1', data[1])    chart = excel.add_chart({'type': 'column'})     # 定义图表样式为 柱状样式表    chart.add_series({                              # 添加需要展示的数据        'categories': '=学生等级!$A1:$A4',        'values': '=学生等级!$B1:$B4',        'name': '成绩占比'    })    chart.set_title({'name': '成绩占比图表'})         # 定义图表title    book1.insert_chart('A10', chart)                # 将 chart 放在 excel 表格对应工作簿的 A10 位置    excel.close()if __name__ == '__main__':    result = read()    write(result)

运行结果如下:

Python怎么实现在Excel文件中写入图表

Python怎么实现在Excel文件中写入图表

拓展:再试试饼状图与条形样式图

代码示例如下:

# coding:utf-8import xlsxwriterimport xlrd# excel = xlsxwriter.Workbook('write.xlsx')       # 初始化 excel 对象# book = excel.add_worksheet('study')             # 添加工作簿## title = ['姓名', '性别', '年龄', '成绩', '等级']   # 定义 write.xlsx 的首行内容## for index, data in enumerate(title):        # for循环 利用枚举函数将 title 的内容写入 "write.xlsx" 的首行#     book.write(0, index, data)# excel.close()def read():             # 定义一个 read 函数读取 "study.xlsx" 文件    result = []    excel = xlrd.open_workbook('study.xlsx')    book = excel.sheet_by_name('学生手册')    for i in book.get_rows():        content = []        for j in i:            content.append(j.value)        result.append(content)    return resultdef write(content):     # 定义一个 write 函数 将读取到 "study.xlsx" 的内容写入到 "write.xlsx" 文件    excel = xlsxwriter.Workbook('write.xlsx')    book = excel.add_worksheet('study')    for index, data in enumerate(content):        print(data)        for sub_index, sub_data in enumerate(data):            # print(sub_index, sub_data)            book.write(index, sub_index, sub_data)    book1 = excel.add_worksheet('学生等级')     # 定义 "学生等级" 工作簿    data = [                                   # 定义 data 列表 用以存放学生成绩所处等级与数量        ['优秀', '良好', '中', '差'],        [15, 25, 55, 5]    ]    book1.write_column('A1', data[0])       # write_column() 函数,按行添加(即 A1 行添加 data 列表的 0 索引的内容)    book1.write_column('B1', data[1])    chart = excel.add_chart({'type': 'column'})     # 定义图表样式为 柱状样式表    chart.add_series({                              # 添加需要展示的数据        'categories': '=学生等级!$A1:$A4',        'values': '=学生等级!$B1:$B4',        'name': '成绩占比'    })    chart.set_title({'name': '成绩占比图表'})         # 定义图表title    book1.insert_chart('A10', chart)                # 将 chart 放在 excel 表格对应工作簿的 A10 位置    chart = excel.add_chart({'type': 'bar'})    chart.add_series({        'categories': '=学生等级!$A1:$A4',        'values': '=学生等级!$B1:$B4',        'name': '成绩占比'    })    chart.set_title({'name': '成绩占比图表'})    book1.insert_chart('A25', chart)    chart = excel.add_chart({'type': 'pie'})    chart.add_series({        'categories': '=学生等级!$A1:$A4',        'values': '=学生等级!$B1:$B4',        'name': '成绩占比'    })    chart.set_title({'name': '成绩占比图表'})    book1.insert_chart('A40', chart)    excel.close()if __name__ == '__main__':    result = read()    write(result)

运行结果如下:

Python怎么实现在Excel文件中写入图表

Python怎么实现在Excel文件中写入图表

以上就是关于“Python怎么实现在Excel文件中写入图表”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯