python操作excel--生成图表
【问题】
想要折腾Python中的Excel中的图标,Chart,Graph。
【解决过程】
1.参考:
use python to generate graph in excel
说是可以用pywin32的OLE automation
去试试其代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-"""Function:【已解决】Python中处理操作Excel中的图表(Chart,Graph)Author: Crifan LiVersion: 2012-12-25Contact: admin at crifan dot com"""from win32com.client import Dispatch;def excelChart(): ex = Dispatch("Excel.Application"); print "ex=",ex; if __name__ == "__main__": excelChart();结果出错:
|
D:\tmp\tmp_dev_root\python\excel_chart>excel_chart.py Traceback (most recent call last): File "D:\tmp\tmp_dev_root\python\excel_chart\excel_chart.py", line 13, in <module> from win32com.client import Dispatch; ImportError: No module named win32com.client |
2.关于上述错误的折腾过程,参见:很明显,是没有对应的库。
【已解决】Python中出错:ImportError: No module named win32com.client
3.再参考:
Creating Charts in Excel with pyExcelerator.ExcelMagic
去写代码,结果又出现了错误,详细折腾过程见:
4.最后,最终结果是,
在当前文件夹下面,建立一个空的xsl文件:chart_demo.xls
然后用下面的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Function:
【已解决】Python中处理操作Excel中的图表(Chart,Graph)
http://www.crifan.com/python_process_excel_chart_graph Author: Crifan Li
Version: 2012-12-25
Contact: admin at crifan dot com
""" import os;
from win32com.client import Dispatch;
#from win32com.client import *; def excelChart():
xl = Dispatch("Excel.Application");
#xl = win32com.client.Dispatch("Excel.Application")
print "xl=",xl; #[1] Fail
# xlsPath = "chart_demo.xls";
# wb = xl.Workbooks.open(xlsPath); #pywintypes.com_error #[2] Fail
# xlsPath = "D:\tmp\tmp_dev_root\python\excel_chart\chart_demo.xls";
# absPath = os.path.abspath(xlsPath);
# print "absPath=",absPath; #absPath= D:\tmp\tmp_dev_root\python\excel_chart\ mp mp_dev_root\python\excel_chart\chart_demo.xls
# wb = xl.Workbooks.open(absPath); #pywintypes.com_error #[3] Fail
# xlsPath = "D:\tmp\tmp_dev_root\python\excel_chart\chart_demo.xls";
# normalPath = os.path.normpath(xlsPath);
# print "normalPath=",normalPath; #normalPath= D: mp mp_dev_root\python\excel_chart\chart_demo.xls
# wb = xl.Workbooks.open(normalPath); #pywintypes.com_error #[4] Fail
# rawPath = r"chart_demo.xls";
# wb = xl.Workbooks.open(rawPath); #pywintypes.com_error #[5] OK
xlsPath = "chart_demo.xls";
absPath = os.path.abspath(xlsPath);
print "absPath=",absPath; #absPath= D:\tmp\tmp_dev_root\python\excel_chart\chart_demo.xls
wb = xl.Workbooks.open(absPath); #OK #[6] OK
# rawPath = r"D:\tmp\tmp_dev_root\python\excel_chart\chart_demo.xls";
# wb = xl.Workbooks.open(rawPath); # OK xl.Visible = 1;
ws = wb.Worksheets(1);
ws.Range('$A1:$D1').Value = ['NAME', 'PLACE', 'RANK', 'PRICE'];
ws.Range('$A2:$D2').Value = ['Foo', 'Fooland', 1, 100];
ws.Range('$A3:$D3').Value = ['Bar', 'Barland', 2, 75];
ws.Range('$A4:$D4').Value = ['Stuff', 'Stuffland', 3, 50];
wb.Save();
wb.Charts.Add();
wc1 = wb.Charts(1); if __name__ == "__main__":
excelChart();
写入的excel中的内容是:
![]()
生成的图表的效果是:
![]()
【总结】
总的来说,使用win32com.client,去操作excel文件,效果还是不错的。
python操作excel--生成图表的更多相关文章
- [转] C#操作EXCEL,生成图表的全面应用
gailzhao 原文 关于C#操作EXCEL,生成图表的全面应用 近来我在开发一个运用C#生成EXCEL文档的程序,其中要根据数据生成相应的图表,该图表对颜色和格式都有严格的要求,在百度和谷歌中搜索 ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- python操作excel xlrd和xlwt的使用
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- python 操作excel 的包 函数
###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...
- 自动化办公:python操作Excel
1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...
- 用Python操作excel文档
使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...
- python学习笔记(十八)python操作excel
python操作excel需要安装通过pip安装xlwt, xlrd这两个模块: pip install xlwt pip insall xlrd 操作excel ,写入excel: import x ...
- 转载:python操作excel表格(xlrd/xlwt)
python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...
随机推荐
- IOS7.1 企业应用 证书无效 已解决
http://www.cocoachina.com/bbs/read.php?tid=194213&keyword=7.1 关于IOS7.1企业版发布后,用户通过SARAFI浏览器安装无效的解 ...
- WPF中的TextBlock处理长字符串
Xaml: <StackPanel> <TextBlock Margin="10" Foreground="Red"> This is ...
- shell脚本,计算输入给定的数,判断最大值,最小值,总和?
[root@localhost ~]# cat five.sh #!/bin/bash #任意输入5个数,判断最大值,最小值,总和 s= read -p "please input:&quo ...
- Spring根据XML配置文件注入属性 其实也是造bean,看看是使用constructor还是setter顺带完成属性赋值
方法一使用setter方法 package com.swift; public class Book { private String bookName; public void setBook(St ...
- vue父子传值的具体应用
最近我负责的项目已经迭代到第四版了,我作为一个没啥经验的小菜鸟也成长了很多. 在这一版开发开始之前,我老大就要求我在开发过程中尽量实现组件化,因此,我也遇到了很多问题,但基本都解决了,所以趁周末把这些 ...
- 洛谷 P2921 在农场万圣节
https://www.luogu.org/problemnew/show/P2921 开始感觉这题30行代码就可以搞定,还是太菜啦,还是乖乖地写了tarjan. 对图进行缩点,那么这个强联通分量中的 ...
- axure笔记--内部框架交互链接
内部框架的作用: 1.可以引用站点地图的页面 2.可以引用视频(链接视频)(axure中没有媒体控件) 3.可以引用本地文件 4.引用网页(注意:1.超链接地址要加上http:// 2.内部框架大 ...
- 《嵌入式linux应用程序开发标准教程》笔记——8.进程间通信
, 8.1 概述 linux里使用较多的进程间通信方式: 管道,pipe和fifo,管道pipe没有实体文件,只能用于具有亲缘关系的进程间通信:有名管道 named pipe,也叫fifo,还允许无亲 ...
- django第四天(路由别名,django2.x新特性和自定义转换器)
django第四天 路由别名 1.路由别名: 给路由路径命名一个名字 url(r'^login/$',views.login,name = 'login') 2.为什么要用路由别名 ①当路由路径过长时 ...
- luogu2526 [SHOI2001]小狗散步
注意一个景点只能去一次. #include <iostream> #include <cstring> #include <cstdio> #include < ...