1. python操作Excel

python操作Excel有多种module可以实现(xlrd、xlwt、xlutils、openpyxl、xlsxwriter),本文使用xlsxwriter这个module,官方链接地址。xlsxwriter支持在Excel 2007之后版本的xlsx文件中编写多个工作表的文本、数字、公式和超链接。本文中用到的类主要有Workbook、Worksheet、Chart,对Excel进行数据写入和生成折线图、柱状图、饼图。

1.1 xlsxwriter模块介绍

1.1.1 Workbook类

Workbook是xlsxwriter模块的主类,对excel文件的操作都需要通过这个类,表示在excel中看到的整个电子表格。

函数名

功能

返回值

备注

Workbook(filename[, options])

构造函数--根据传入的文件名创建Workbook对象

Workbook对象

add_worksheet([name])

为excel文件添加一个worksheet

worksheet对象

不指定名字默认为sheet1、sheet2...

add_format([properties])

创建一个format对象

格式化对象

add_chart(options)

创建一个Chart对象

Chart对象

close()

关闭打开的xlsx文件并进行写入

1.1.2 Worksheet类

Worksheet类表示一个Excel工作表,处理向单元格写入数据或格式化工作布局等操作。

函数名

功能

返回值

备注

write_row(row, col, data[, cell_format])

以某个单元格作为起始写入行数据

0--成功 其他--失败

可以通过(row,col)来索引单元格,也可以通过'A1'、'A2'的形式

write_column(row, col, data[, cell_format])

以某个单元格作为起始写入列数据

0--成功 其他--失败

同上

insert_chart(row, col, chart[, options])

在worksheet中插入一个chart

0--成功 -1--索引越界

(row, col)用于指定chart的显示位置

1.1.3 Chart类

Chart类是xlsxwriter中用来操作图表的类,通过workbook.add_chart函数创建Chart对象。

函数名

功能

返回值

备注

add_series(options)

向图表中添加数据序列

set_title(options)

设置图表标题

set_x_axis(options)

设置X轴

set_y_axis(options)

设置Y轴

set_style(style_id)

设置图表样式类型

1.2 excel写入及绘图

1.2.1 折线图

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

import xlsxwriter

# 创建一个excel

workbook = xlsxwriter.Workbook("chart_line.xlsx")

# 创建一个sheet

worksheet = workbook.add_worksheet()

# 自定义样式,加粗

bold = workbook.add_format({'bold': 1})

# --------1、准备数据并写入excel---------------

# 向excel中写入数据,建立图标时要用到

headings = ['Version', '1.0.27', '1.0.29', '1.0.30', '1.0.31']

data = [

['1', '-1', '-2', '-3', '-4', '-5'],

[10, 40, 50, 20, 30, 50],

[20, 60, 40, 10, 40, 30],

[30, 40, 60, 10, 50, 10],

[40, 30, 55, 15, 30, 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])

worksheet.write_column('D2', data[3])

worksheet.write_column('E2', data[4])

# --------2、生成图表并插入到excel---------------

# 创建一个柱状图(line chart)

chart_col = workbook.add_chart({'type': 'line'})

# 配置第1个系列数据

chart_col.add_series({

# 这里的Sheet1是默认的值

'name': '=Sheet1!$B$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$B$2:$B$7',

'line': {'color': 'red'},

})

# 配置第2个系列数据

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!$D$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$D$2:$D$7',

'line': {'color': 'blue'},

})

# 配置第二个系列数据

chart_col.add_series({

'name': '=Sheet1!$E$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$E$2:$E$7',

'line': {'color': 'green'},

})

# 设置图表的title 和 x,y轴信息

chart_col.set_title({'name': 'The dll return Analysis'})

chart_col.set_x_axis({'name': 'return value'})

chart_col.set_y_axis({'name': 'count'})

# 设置图表的风格

chart_col.set_style(1)

# 把图表插入到worksheet并设置偏移

worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})

# 关闭文件

workbook.close()

1.2.2 柱状图

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

import xlsxwriter

# 创建一个excel

workbook = xlsxwriter.Workbook("chart_column.xlsx")

# 创建一个sheet

worksheet = workbook.add_worksheet()

# 自定义样式,加粗

bold = workbook.add_format({'bold': 1})

# --------1、准备数据并写入excel---------------

headings = ['Version', '1.0.27', '1.0.29', '1.0.30', '1.0.31']

data = [

['1', '-1', '-2', '-3', '-4', '-5'],

[10, 40, 50, 20, 30, 50],

[20, 60, 40, 10, 40, 30],

[30, 40, 60, 10, 50, 10],

[40, 30, 55, 15, 30, 30]

]

# 写入表头

worksheet.write_row('A1', headings, bold)

# 写入数据

worksheet.write_column('A2', data[0], bold)

worksheet.write_column('B2', data[1])

worksheet.write_column('C2', data[2])

worksheet.write_column('D2', data[3])

worksheet.write_column('E2', data[4])

# --------2、生成图表并插入到excel---------------

# 创建一个柱状图(column chart)

chart_col = workbook.add_chart({'type': 'column'})

# 配置第1个系列数据

chart_col.add_series({

# sheet1是默认的值

'name': '=Sheet1!$B$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$B$2:$B$7',

'fill': {'color': 'red', 'transparency': 30},

})

# 配置第2个系列数据

chart_col.add_series({

'name': '=Sheet1!$C$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$C$2:$C$7',

'fill': {'color': 'blue', 'transparency': 30},

})

# 配置第3个系列数据

chart_col.add_series({

'name': '=Sheet1!$D$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$D$2:$D$7',

'fill': {'color': 'green', 'transparency': 30},

})

# 配置第4个系列数据

chart_col.add_series({

'name': '=Sheet1!$E$1',

'categories': '=Sheet1!$A$2:$A$7',

'values': '=Sheet1!$E$2:$E$7',

'fill': {'color': 'yellow', 'transparency': 30},

})

# 设置图表的title 和 x,y轴信息

chart_col.set_title({'name': 'The dll return Analysis'})

chart_col.set_x_axis({'name': 'return value'})

chart_col.set_y_axis({'name': 'count'})

# 设置图表的风格

chart_col.set_style(1)

# 把图表插入到worksheet以及偏移

worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})

workbook.close()

1.2.3 饼图

# -*- 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 = [

['1.0.27', '1.0.29', '1.0.30', '1.0.31'],

[32, 23, 18, 25],

]

# 写入数据

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 Counts',

'categories': '=Sheet1!$A$1:$D$1',

'values': '=Sheet1!$A$2:$D$2',

'points': [

{'fill': {'color': '#BC3FBC'}},

{'fill': {'color': '#0DAD48'}},

{'fill': {'color': '#D8B31C'}},

{'fill': {'color': 'gray'}},

],

})

# 设置图表的title 和 x,y轴信息

chart_col.set_title({'name': 'Bug Counts'})

# 设置图表的风格,excel内置48种图表样式

chart_col.set_style(25)

# 把图表插入到worksheet以及坐标位置

worksheet.insert_chart('B10', chart_col, {'x_offset': 25, 'y_offset': 10})

workbook.close()

2. python操作cvs文件

2.1 csv文件简介

Comma-Separated Values逗号分隔值,其文件以纯文本的形式存储表格数据,广泛应用在程序之间转移表格数据,如何可以将csv直接在Excel中以表格的形式打开,也可以作为源数据直接导入到数据库当中。文件类似如下的形式,

OcrVersion,OcrResult,TimeExpend

1.0.0.27,-5,33.61749870069975

1.0.0.27,1,124.42219042629038

1.0.0.27,1,86.97660413336142

1.0.0.27,1,97.52896716737031

1.0.0.27,-5,0.48869203305051956

1.0.0.27,-5,0.5020905159192068

1.0.0.27,-5,0.4943334995215487

2.2 python读写cvs文件

2.3 pandas读取cvs数据及可视化

3. 总结

python与excel做数据可视化-python操作Excel、读取CVS与数据可视化相关推荐

  1. python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

    python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...

  2. python替换excel指定内容_Python脚本操作Excel实现批量替换功能

    大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换. 使用的工具 Openpyxl,一个处理excel的python库,处理excel,其实针对的就是WorkBook,Sheet, ...

  3. Apache POI和JXL(Java Excel)的基本使用——操作excel

    一.简介 开发中经常会涉及到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache 的poi, 另一个是 Java Excel Apache P ...

  4. python如何操作excel数据_Python如何操作Excel

    以上可以根据需求的不同,选择合适的工具,现在给大家主要介绍最常用的xlrd&xlwt&xlutils系统工具的使用 1. xlrd&xlwt&xlutils介绍 xlr ...

  5. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(二)

    '''Open_Excel是根据每个excel里的每个租客租金详情,生成房租信息send_info 以及对应的表格图片过程:Open_Excel(月份) 输入月份实例化get_send_info() ...

  6. 【Python】又一个Jupyter神器,操作Excel自动生成Python代码!

    大家好,我是东哥. 不得不说,Jupyter对于表的处理真的是越来越方便了,很多库可以直接实现可视化操作,无需写代码.但是这还不够,最近看到一个神器叫Mito,它真的是做到了无需写一行代码,而且手动的 ...

  7. python xlwt xlrd模块详解_python操作excel之xlrd、xlwt模块详解

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 可从这里下载https://pypi.python.org/pypi.下面分别记录 ...

  8. python excel openpyxl_Python利用openpyxl来操作Excel(一)-阿里云开发者社区

    最近一直在做项目里的自动化的工作,为了是从繁琐重复的劳动中挣脱出来,把精力用在数据分析上.自动化方面python是在好不过了,不过既然要提交报表, 就不免要美观什么的.pandas虽然很强大,但是无法 ...

  9. python与excel的应用-python基础之类与对象的应用-操作excel

    python操作excel openpyxl 前置说明 安装openpyxl 只支持.xlsx后缀 创建excel 手动创建:日常手动创建,双击excel图标 代码创建:后面讲 打开excel ima ...

最新文章

  1. 3117 高精度练习之乘法
  2. 积木履带机器人编程手册_学会编程,寓教于乐!ONEBOT 反履机甲图赏
  3. JVM中的Stack和Heap1
  4. 《机器学习实战》chapter03 决策树
  5. Deepin 下 使用 Rider 开发 .NET Core
  6. linux 配置ssh免密码登陆本机
  7. 一周信创舆情观察(11.1~11.7)
  8. virtualbox窗口和win10窗口切换
  9. 有哪些比较不错的AI绘画网站?
  10. 前端萌新看过来了—— 0基础1小时vue入门到实战
  11. html页面,文字的自动换行
  12. 我的世界服务器物品管道,我的世界漏斗管道怎么做 教你连接漏斗箱子
  13. 看《Sicko》,有感
  14. stm32开发板(特别是mini最小系统板)USB不能识别导致无法下载程序的原因
  15. 如何定时更改计算机的系统时间,电脑上重新加载当前校准,电脑时间怎么自动校准...
  16. 免费主机屋空间mysql和mssql数据库备份和还原技巧
  17. python 全栈开发,Day103(微信消息推送,结算中心业务流程)
  18. 关于js获取id的函数封装
  19. 用卷积对心音进行分类的总结1
  20. lims实验室管理系统公司应该怎么去选择?

热门文章

  1. selenium 测试
  2. python 列表推导式 - 列表字典取value
  3. SQL Server 2008(三) T-SQL(常用全局变量)
  4. 分享一个模板解析的方法
  5. Altium Designer 使用小结
  6. Scrapy 模拟登陆知乎--抓取热点话题
  7. 举例让抽象问题具体化:栈的压入、弹出序列
  8. 结构型模式---适配器模式
  9. python包管理器修改镜像地址
  10. 【SSM 4】Mybatis逆向生成工具