python如何处理表格_【已解决】Python中处理操作Excel中的图表(Chart,Graph)

【问题】

想要折腾Python中的Excel中的图标,Chart,Graph。

【解决过程】

1.参考:

去试试其代码:#!/usr/bin/python

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

"""

Function:

【已解决】Python中处理操作Excel中的图表(Chart,Graph)

https://www.crifan.com/python_process_excel_chart_graph

Author: Crifan Li

Version: 2012-12-25

Contact: 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

from win32com.client import Dispatch;

ImportError: No module named win32com.client

很明显,是没有对应的库。

2.关于上述错误的折腾过程,参见:

3.再参考:

去写代码,结果又出现了错误,详细折腾过程见:

4.最后,最终结果是,

在当前文件夹下面,建立一个空的xsl文件:chart_demo.xls

然后用下面的代码:#!/usr/bin/python

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

"""

Function:

【已解决】Python中处理操作Excel中的图表(Chart,Graph)

https://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中的内容是:

sheet1-content_thumb.png

生成的图表的效果是:

generated-chart-ui_thumb.png

【总结】

总的来说,使用win32com.client,去操作excel文件,效果还是不错的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值