大家好,小编来为大家解答以下问题,数据可视化pythonexcel表格,python对excel数据可视化,现在让我们一起来看看吧!
本篇文章给大家谈谈一个有趣的事情,以及一个有趣的事情,希望对各位有所帮助,不要忘了收藏本站喔。
近段时间由于工作中需要对一些数据的整理和可视化显示,故记下使用python操作Excel可视化操作,方便后续查阅python自学有用吗。
一、数据导入Excel
Demo:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @File Name: python_excel.py# @Time : 2019/7/25# @Author : zhong# @Blog : https://www.jianshu.com/search?q=keitwo&page=1&type=note# @QQ交流 : 3227456102import xlsxwriter # 导入模块workbook = xlsxwriter.Workbook('7月生活消费.xlsx') # 新建excel表worksheet = workbook.add_worksheet('消费表') # 新建sheet(sheet的名称为"sheet1")headings = ['Number', '交通费', '伙食费','通讯费'] # 设置表头data = [ ['2019-7-1', '2019-7-2', '2019-7-3', '2019-7-4', '2019-7-5', '2019-7-6'], [10, 40, 50, 20, 10, 50], [30, 60, 70, 50, 40, 30], [100,50,150,50,100,50],] # 自己造的数据worksheet.write_row('A1', headings)worksheet.write_column('A2', data[0])worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2]) # 将数据插入到表格中worksheet.write_column('C2', data[3])workbook.close() # 将excel文件保存关闭,如果没有这一行运行代码会报错
运行结果:
二、给数据添加格式和汇总
Demo:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @File Name: python_excel.py# @Time : 2019/7/25# @Author : zhong# @Blog : https://www.jianshu.com/search?q=keitwo&page=1&type=note# @QQ交流 : 3227456102# 导入模块import xlsxwriter# 新建excel表workbook = xlsxwriter.Workbook('7月生活消费.xlsx')# 新建sheet(sheet的名称为"消费表")worksheet = workbook.add_worksheet('消费表')# 设置表头headings = ['Number', '交通费', '伙食费','通讯费']# 自己造的数据data = [ ('2019-7-1', '2019-7-2', '2019-7-3', '2019-7-4', '2019-7-5', '2019-7-6'), (10, 40, 50, 20, 10, 50), (30, 60, 70, 50, 40, 30), (100,50,150,50,100,50),]worksheet.write_row('A1', headings)# 添加全局格式bold =workbook.add_format({'bold':True})money = workbook.add_format({'num_format':'$#,##0'})# 添加表头附带格式# worksheet.write('B2','交通费',bold)# worksheet.write('C2','伙食费',bold)# worksheet.write('D2','通讯费',bold)# 将数据插入到表格中worksheet.write_column('A2', data[0])worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])worksheet.write_column('D2', data[3])col = 0# 添加一列求和计数worksheet.write(col,4,'总消费',bold)worksheet.write(col+1,4,'=SUM(B2+C2+D2)',money)worksheet.write(col+2,4,'=SUM(B3+C3+D3)',money)worksheet.write(col+3,4,'=SUM(B4+C4+D4)',money)worksheet.write(col+4,4,'=SUM(B5+C5+D5)',money)worksheet.write(col+5,4,'=SUM(B6+C6+D6)',money)worksheet.write(col+6,4,'=SUM(B7+C7+D7)',money)# 将excel文件保存关闭,如果没有这一行运行代码会报错workbook.close()
运行结果:
三、可视化图表
线性图标Demo:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @File Name: python_excel.py# @Time : 2019/7/25# @Author : zhong# @Blog : https://www.jianshu.com/search?q=keitwo&page=1&type=note# @QQ交流 : 3227456102# 导入模块import xlsxwriter# 新建excel表workbook = xlsxwriter.Workbook('7月生活消费.xlsx')# 新建sheet(sheet的名称为"消费表")worksheet = workbook.add_worksheet('消费表')# 设置表头headings = ['Number', '交通费', '伙食费','通讯费']# 自己造的数据data = [ ('7月', '8月', '9月', '10月', '11月', '12月'), (10, 40, 50, 20, 10, 50), (30, 60, 70, 50, 40, 30), (100,50,150,50,100,50),]worksheet.write_row('A1', headings)# 添加全局格式bold =workbook.add_format({'bold':True})money = workbook.add_format({'num_format':'$#,##0'})worksheet.write_column('A2', data[0]) # 将数据插入到表格中worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])worksheet.write_column('D2', data[3])# --------2、生成图表并插入到excel---------------# 创建一个柱状图(line chart)chart_col = workbook.add_chart({'type': 'line'})# 配置第一个系列数据chart_col.add_series({ # 我们新建sheet时设置了sheet名,这里就要设置成相应的值 'name': '=消费表!$B$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$B$2:$B$7', 'line': {'color': 'red'},})# 配置第二个系列数据chart_col.add_series({ 'name': '=消费表!$C$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$C$2:$C$7', 'line': {'color': 'yellow'},})# 配置第二个系列数据(用了另一种语法)# chart_col.add_series({# 'name': ['消费表', 0, 2],# 'categories': ['消费表', 1, 0, 6, 0],# 'values': ['消费表', 1, 2, 6, 2],# 'line': {'color': 'yellow'},# })# 配置第三个系列数据chart_col.add_series({ 'name': '=消费表!$D$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$D$2:$D$7', 'line': {'color': 'blue'},})# 设置图表的title 和 x,y轴信息chart_col.set_title({'name': '下半年消费情况表'})chart_col.set_x_axis({'name': '月份'})chart_col.set_y_axis({'name': '价格(元)'})# 设置图表的风格chart_col.set_style(1)# 把图表插入到worksheet并设置偏移worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})# col = 0# # 添加一列求和计数# worksheet.write(col,4,'总消费',bold)# worksheet.write(col+1,4,'=SUM(B2+C2+D2)',money)# worksheet.write(col+2,4,'=SUM(B3+C3+D3)',money)# worksheet.write(col+3,4,'=SUM(B4+C4+D4)',money)# worksheet.write(col+4,4,'=SUM(B5+C5+D5)',money)# worksheet.write(col+5,4,'=SUM(B6+C6+D6)',money)# worksheet.write(col+6,4,'=SUM(B7+C7+D7)',money)# 将excel文件保存关闭,如果没有这一行运行代码会报错workbook.close()
运行结果:
柱状图Demo:
只需要更改如下一行代码即可:
# 创建一个柱状图(line chart)# chart_col = workbook.add_chart({'type': 'line'})# 创建一个柱状图(column cahrt)chart_col = workbook.add_chart({'type': 'column'})
运行结果:
柱状图+线性图叠加显示Demo:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @File Name: python_excel.py# @Time : 2019/7/25# @Author : zhong# @Blog : https://www.jianshu.com/search?q=keitwo&page=1&type=note# @QQ交流 : 3227456102# 导入模块import xlsxwriter# 新建excel表workbook = xlsxwriter.Workbook('7月生活消费.xlsx')# 新建sheet(sheet的名称为"消费表")worksheet = workbook.add_worksheet('消费表')# 设置表头headings = ['Number', '交通费', '伙食费','通讯费']# 自己造的数据data = [ ('7月', '8月', '9月', '10月', '11月', '12月'), (10, 40, 50, 20, 10, 50), (30, 60, 70, 50, 40, 30), (100,50,150,50,100,50),]worksheet.write_row('A1', headings)# 添加全局格式bold =workbook.add_format({'bold':True})money = workbook.add_format({'num_format':'$#,##0'})worksheet.write_column('A2', data[0]) # 将数据插入到表格中worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])worksheet.write_column('D2', data[3])# --------2、生成图表并插入到excel---------------# 创建一个柱状图(line chart)line_chart = workbook.add_chart({'type': 'line'})# 创建一个柱状图(column cahrt)#chart_col = workbook.add_chart({'type': 'column'})# 配置第一个系列数据line_chart.add_series({ # 我们新建sheet时设置了sheet名,这里就要设置成相应的值 'name': '=消费表!$B$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$B$2:$B$7', 'line': {'color': 'red'},})# 配置第二个系列数据line_chart.add_series({ 'name': '=消费表!$C$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$C$2:$C$7', 'line': {'color': 'yellow'},})# 配置第二个系列数据(用了另一种语法)# chart_col.add_series({# 'name': ['消费表', 0, 2],# 'categories': ['消费表', 1, 0, 6, 0],# 'values': ['消费表', 1, 2, 6, 2],# 'line': {'color': 'yellow'},# })# 配置第三个系列数据line_chart.add_series({ 'name': '=消费表!$D$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$D$2:$D$7', 'line': {'color': 'blue'},})# 设置图表的title 和 x,y轴信息line_chart.set_title({'name': '下半年消费情况表'})line_chart.set_x_axis({'name': '月份'})line_chart.set_y_axis({'name': '价格(元)'})# 设置图表的风格line_chart.set_style(1)# 把图表插入到worksheet并设置偏移# worksheet.insert_chart('A10', line_chart, {'x_offset': 25, 'y_offset': 10})"""------------------------------------------------------柱状图---------------------------------"""# 创建一个柱状图(column chrt)acolumn_chart = workbook.add_chart({'type': 'column'})# 配置第一个系列数据column_chart.add_series({ # 我们新建sheet时设置了sheet名,这里就要设置成相应的值 'name': '=消费表!$B$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$B$2:$B$7', 'line': {'color': 'red'},})# 配置第二个系列数据column_chart.add_series({ 'name': '=消费表!$C$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$C$2:$C$7', 'line': {'color': 'yellow'},})# 配置第二个系列数据(用了另一种语法)# column_chart.add_series({# 'name': ['消费表', 0, 2],# 'categories': ['消费表', 1, 0, 6, 0],# 'values': ['消费表', 1, 2, 6, 2],# 'line': {'color': 'yellow'},# })# 配置第三个系列数据column_chart.add_series({ 'name': '=消费表!$D$1', 'categories': '=消费表!$A$2:$A$7', 'values': '=消费表!$D$2:$D$7', 'line': {'color': 'blue'},})# 设置图表的title 和 x,y轴信息column_chart.set_title({'name': '下半年消费情况表'})column_chart.set_x_axis({'name': '月份'})column_chart.set_y_axis({'name': '价格(元)'})# 设置图表的风格column_chart.set_style(1)# 把图表插入到worksheet并设置偏移worksheet.insert_chart('A10', column_chart, {'x_offset': 25, 'y_offset': 10})# 柱状图和线性图叠加一起显示column_chart.combine(line_chart)# col = 0# # 添加一列求和计数# worksheet.write(col,4,'总消费',bold)# worksheet.write(col+1,4,'=SUM(B2+C2+D2)',money)# worksheet.write(col+2,4,'=SUM(B3+C3+D3)',money)# worksheet.write(col+3,4,'=SUM(B4+C4+D4)',money)# worksheet.write(col+4,4,'=SUM(B5+C5+D5)',money)# worksheet.write(col+5,4,'=SUM(B6+C6+D6)',money)# worksheet.write(col+6,4,'=SUM(B7+C7+D7)',money)# 将excel文件保存关闭,如果没有这一行运行代码会报错workbook.close()
运行结果:
资料:xlsxwrite其他图标制作示例见
-
https://pandas-xlsxwriter-charts.readthedocs.io/chart_examples.html
-
https://www.cnblogs.com/lizm166/p/9449261.html