python如何生成excel图表,python画图并保存到excel中
本文主要介绍如何使用Python语言在Excel文件中编写简单的图表。本文详细说明了实现方法。赶紧试试吧。
00-1010Add _ Series参数图表样式结合study.xlsx文件以表格的形式展示和展开学生的成绩:再试试饼状图和条形图。学习了如何生成excel文件之后,我们继续学习如何在excel文件中编写一个相对简单的图表。我们先来看看几个必需的函数(这些函数都是通过工作簿执行的)。
函数名描述参数add_chart()创建图表对象{type3360 style }add_series()定义需要显示的数据字典set_title()并定义图表标题字符串。
目录
描述值类别显示title=Sheet1!1:美元4美元
Shert1:工作簿名称
$ A1 : 133601:a $4表示标题值所显示的数据从A=Sheet1行的第一个值显示到第四个值!B1 : 1:1: b 4美元
Shert1:工作簿名称
$ B1 : 1336013360b $4显示A行第一个值到第四个值的标题。表名$A$1:$A$4显示A行第一个值到第四个值的标题。
add_series 参数
名称描述区域区域样式表条形图样式表列样式表线条样式表饼图饼图样式表圆环样式表散点图样式表股票股票样式表雷达雷达样式表
图表的样式
这里继续使用上一章“将项目中的study.xlsx文件内容写入write.xlsx”的案例;
代码示例如下:
#编码:utf-8
导入xlsxwriter
导入xlrd
# excel=xlsx writer . workbook( write . xlsx )#初始化Excel对象
# book=excel . Add _ worksheet( study )#添加工作簿
#
# title=[姓名,性别,年龄,成绩,年级] #定义write.xlsx第一行的内容
#
# for index,enumerate (title)中的数据: #用于回收枚举函数将title的内容写入 write.xlsx 的第一行
# book.write(0,索引,数据)
# excel.close()
DEF () : #定义一个读取函数来读取 study.xlsx 文件
结果=[]
excel=xlrd . open _ workbook( study . xlsx )
Book=excel.sheet_by_name(学生手册)
for i in book.get_rows():
内容=[]
对于i:中的j
content.append(j.value)
result.append(content)
return result
def 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)
运行结果如下:
拓展:再试试饼状图与条形样式图
代码示例如下:
# coding:utf-8import xlsxwriter
import 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 result
def 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写入图表的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。