有一次TE需要一个**信息列表,我用python导出了一个txt文件丢给了他们,结果他们很不悦哇,呵呵,因为他们要把几百项数据人肉到xls文件中 作为列表输出,工作量太大,便要求我导出成xls文件然后再给他们,我以编程实现太难推脱了,今天看了下python操作excle的方法,发现相当简 单,呃,苦了TE们……
我在网上找了下,发现至少有两种方法,第一种是直接操作excle的com库,当然python自带的lib里面已经给我们封装好了实现,直接使用就可以 了,win32com.client,这种方法甚至可以直接把excle的进程调用起来。用法很简单,网上的文章也汗牛充栋,就不详细解说了,给个小例子 吧,嘻嘻。这种只能在windows下运行,并且需要安装MS Excel。
-
- from win32com.client import constants, Dispatch
-
- xlsApp = Dispatch("Excel.Application")
-
- xlsApp.Visible = 1
-
-
-
-
- xlsBook = xlsApp.Workbooks.Add()
- xlsSht = xlsBook.Sheets.Add()
- xlsSht.Cells(2, 3).Value = "Tecent QQ"
- xlsSht.Cells(2, 3).Font.Color = 0xff0000
-
- xlsSht.Name = "GCD go to bell"
- xlsBook.SaveAs("c:\\magictong.xls")
- xlsApp.Quit()
-
- print "__end"
第二种方法是使用pyExcelerator开源库,这个可以到http://sourceforge.net/projects/pyexcelerator/去 下载,不过这个链接不是很好下,另外我传了一份到csdn上面也可以去下,比较稳定,http://d.download.csdn.net/down/1884158/magictong。 是一个zip包,解压后的文件如下:
examples目录是给出的很多小例子,很全面,把这些例子搞明白,基本上使用pyExcelerator的基本方法你也就全搞明白了,其他目录不用管 了,tools目录里面是一些转换工具,从xls文件转换到txt啦,html啦,有兴趣也可以看看。下面说怎么安装吧,其实readme.txt里面已 经说的很清楚了,仔细看下这个文件吧,嘿嘿,这个目录下还有一个setup.py文件,这个文件是用于库的安装的,安装方法是python setup.py install,在win32下直接写个bat文件把这句写进去,放在和setup.py同一级目录,直接运行就over了,里面有cmd.bat文件是 我加在里面的。
安装好了,咱们就开始使用吧,先看看解析xls文件,简单几句就搞定了:
- from pyExcelerator import *
- sheets = parse_xls("c:/a.xls")
- print sheets
xls的源文件如下所示:
输出可不简单:
- [(u'Sheet1', {(0, 1): 1.0, (7, 3): 10.890000000000001, (0, 0): u'tonglei', (1, 1): u'qq', (2, 2): u'\u7acb\u91cc\u4e09\u77f3', (0, 3): 5.0, (0, 2): 2.0}), (u'Sheet2', {}), (u'Sheet3', {})]
仔细研究下这个数据,最外层是一个list,里面有三个元组,对应三个sheet,每个元组有两项数据,第一个是sheet的名字,如"Sheet1", 第二项是一个字典,字典中的每一项的key是一个以xls文件的行列两项为元素的元组,而value就是该行列对应的数值,不过这个里面的类型可能就不会 像xls里面那么丰富了。得到了这些数据,能干什么……我就不说了。
再看看怎么写xls文件:
- # -*- coding: cp936 -*-
- from pyExcelerator import *
-
- # 创建一个工作表
- w = Workbook()
- # 增加一个sheet并设定名称
- ws = w.add_sheet(u"中文的sheet")
-
- # 设置样式
- font0 = Font()
- font0.name = 'Times New Roman'
- font0.struck_out = True
- font0.bold = True
-
- style0 = XFStyle()
- style0.font = font0
-
- ws.write(1, 1, u"magictong", style0)
- ws.write(1, 2, 45)
-
- # 我想写一个数值
- style1 = XFStyle()
- style1.num_format_str = "0"
- ws.write(2, 4, 12, style1)
- ws.write(2, 5, 4, style1)
-
- # 保存
- w.save("c:\\mini.xls")
输出xls文件如下:
输出格式是很多的,可以看一个自带的例子:
- #!/usr/bin/env python
- # -*- coding: windows-1251 -*-
- # Copyright (C) 2005 Kiseliov Roman
- __rev_id__ = """$Id: num_formats.py,v 1.1 2005/07/20 07:24:11 rvk Exp $"""
-
-
- from pyExcelerator import *
-
- w = Workbook()
- ws = w.add_sheet('Hey, Dude')
-
- fmts = [
- 'general',
- '0',
- '0.00',
- '#,##0',
- '#,##0.00',
- '"$"#,##0_);("$"#,##',
- '"$"#,##0_);[Red]("$"#,##',
- '"$"#,##0.00_);("$"#,##',
- '"$"#,##0.00_);[Red]("$"#,##',
- '0%',
- '0.00%',
- '0.00E+00',
- '# ?/?',
- '# ??/??',
- 'M/D/YY',
- 'D-MMM-YY',
- 'D-MMM',
- 'MMM-YY',
- 'h:mm AM/PM',
- 'h:mm:ss AM/PM',
- 'h:mm',
- 'h:mm:ss',
- 'M/D/YY h:mm',
- '_(#,##0_);(#,##0)',
- '_(#,##0_);[Red](#,##0)',
- '_(#,##0.00_);(#,##0.00)',
- '_(#,##0.00_);[Red](#,##0.00)',
- '_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',
- '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',
- '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',
- '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',
- 'mm:ss',
- '[h]:mm:ss',
- 'mm:ss.0',
- '##0.0E+0',
- '@'
- ]
-
- i = 0
- for fmt in fmts:
- ws.write(i, 0, fmt)
-
- style = XFStyle()
- style.num_format_str = fmt
-
- ws.write(i, 4, -1278.9078, style)
-
- i += 1
-
- w.save('num_formats.xls')
可以运行一下,看看都有些什么格式的可以输出,不过我找了下,不知道怎么输出一个标准的数值。
分享到:
相关推荐
语言为Python3, 文件类型只能为xls文件,文件中的路径根据自己的需要来修改
整理了一个python中xls转xlsx的离线安装包和代码,包括教学说明
办公自动化python将Word、Excel和PPT批量转成PDF文档,win32com操作word文档、Excel表格和PPT文档,WPS转为PDF文件。提高办公效率,快速阅读office文件,保护office文件格式和文件安全。
使用python将ts文件格式化为excel文件,使用方法,将需要操作的ts文件改名为en2zh.ts,置于exe同级目录下,执行exe即可,输出文件为en2zh.xlsx。 ****** 注:如有定制化处理需求,或者任何相关问题可通过邮箱联系...
主要介绍了Python基于matplotlib画箱体图检验异常值操作,涉及Python针对xls格式数据文件的读取、matplotlib图形绘制等相关操作技巧,并附带xls数据文件供读者下载参考,需要的朋友可以参考下
可将TXT文件转换为XLS文件,或将输入的所有xls的sheet子表转换为TXT文件 默认分隔符为一个table键 support:仅支持256列以下,65536行以下 普通操作方法: 双击运行工具 1:程序会将当前目录下的所有xls文件中的...
xlrd/xlwt: xlrd用于读取.xls和.xlsx文件,而xlwt用于写入.xls文件。这两个库通常一起使用,以便在读取和写入Excel文件时提供更多的灵活性2。 pandas: 一个强大的数据分析工具库,它提供了简单的函数来读取和写入...
用python实现的一个小工具, 将KML的坐标提取出来转换为Excel格式的文件,基于xlwings实现的Excel操作, 附源码
python3.7版本 含可执行文件和源码。支持将csv文件批量转换成excel,csv大于50万行自动拆分多个excel。支持自动清理当前文件夹的excel,进而重复生成操作。
主要介绍了Python使用xlrd读取Excel格式文件的方法,实例分析了Python操作Excel文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
(1) 如果excel文件是xls,2003版的,使用xlrd和xlwt库来对xls文件进行操作 (2) 如果excel文件是xlsx,2007以上版的,使用openpyxl库来对xlsx文件进行操作 Tips:xlrd、xlwt和openpyxl非python自带库。 我们使用Python...
今天小编就为大家分享一篇python操作excel文件并输出txt文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文使用xlrd读取excel文件(xls,sxls格式),使用xlwt向excel写入数据 一、xlrd和xlwt的安装 安装很简单,windos+r调出运行窗口,输入cmd,进入命令行窗口,输入以下命令。 安装xlrd: pip install xlrd 安装xlwt: ...
首先,将需要更改的excel文件打开,用xlutils包的copy将excel文件对象拷贝一份,然后进行修改操作 具体代码实现: import xlrd import xlwt from xlutils.copy import copy # 打开想要更改的excel文件 old_excel =...
xlrd是为Python编写的模块,用于处理.xls文件中的数据。 这包括Microsoft Excel文件。 您可以使用此模块直接在excel文件上执行基本的CRUD –(创建,读取,更新,删除)操作。 在此演示中,我们将找出姓名,年龄,...
import win32com.client # 导入脚本模块 ExcelApp = win32com.client.Dispatch("Excel.Application") # 载入EXCEL模块 ExcelApp.Visible = True # 显示EXCEL应用程序 1、 新建xls文件 wBook = ExcelApp.Workbooks....
主要介绍了Python xlrd/xlwt 创建excel文件及常用操作,帮助大家更好的理解和使用python办公,感兴趣的朋友可以了解下
单击工具栏中的“导入Excel”按钮,打开文件对话框选择文件夹,如XS1文件夹,系统将遍历该文件夹中的*.xls文件,并且将文件添加到列表区,效果如图2所示。 (2)提取列数据。单击工具栏中的“提取列数据”按钮,...
python脚本实现xlsx文件解析,供大家参考,具体内容如下 环境配置: 1.系统环境:Windows 7 64bit 2.编译环境:Python3.4.3 3.依赖库: os sys xlrd re 4.其他工具:none 5.前置条件:待处理的xlsx文件 脚本由来...
使用 xlrd 依赖库,详解.xls 旧版Excel文件的读取,并使用 xlutils.copy 依赖库修改Excel文件出最终的修订结果Excel; 详细文章介绍地址如下: https://xiaxl.blog.csdn.net/article/details/123910322