您现在的位置: 主页 > 上位机技术 > python > 微软官方Excel管理Python模块
本文所属标签:
为本文创立个标签吧:

微软官方Excel管理Python模块

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-08-13 


Python部落组织翻译,禁止转载,欢迎转发


小编说:用程序读写Excel是很多公司业务流程中的一个重要环节。目前大多数公司使用的读写Excel的Python模块都来源于第三方,今天,我们介绍一下微软官方提供的Excel管理Python模块:Pyvot。


安装方式


前提是预先安装有Python for Windows extensions (pywin32)和Office 2010。

安装命令是:easy_install pyvot


导入方式


import xl


把Python内容导入到Excel中


>>> xl.Workbook() # 创建空的Excel表单,状态为active
>>> a = range(1,10) #  一个Python列表
>>> a[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> xl.view(a) # 将Python列表展示在Excel中

Python列表被拷贝进了Excel。



Excel内容转成Python对象


从Excel中获取数据需要xl.Range对象,这个对象代表要操作的单元格。xl.view函数返回选择的存储数据的单元格的范围。

>>> r = xl.view(range(1,10))
>>> r<ColumnVector range object for $A$2:$A$1048576 (visible only)
>>>> r.get()[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
>>> sum(r) # ranges are iterable45.0

需要注意的是,view函数实际上选中了整个A列,但是Range.get假设我们只需要里面有用的数据。


现在我们可以修改Excel中的数据,然后重新获取数据回来。例如我们手动在Excel中删除一些行,把Excel中的数据改为这样:


>>> r.get() # get updated values
[1.0, 20.0, 8.0, 9.0]

当前的选择范围仍旧是一个Range对象,这允许我们在Excel中筛选我们感兴趣的数据。

>>> xl.selected_range().get()
8.0

使用Range对象的注意事项:

  • 它排除了表头行(get("ColumnName").get()不包含"ColumnName")

  • 它只从被使用了的范围里面进行选择。相对应的,原生的Excel COM API有一个非常令人沮丧的问题,就是如果你选择一列,它返回一百万个空的单元格给你。


Workbook.Range方法相比之下只处理A1这种风格的引用,和命名范围。


这只是一个简要的介绍,更详细的细节您可以阅读英文原文,获取更多的信息。


英文原文:https://pythonhosted.org/Pyvot/tutorial.html

译者:诗书塞外



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > python > 微软官方Excel管理Python模块
 我们 数据 对象

网站地图

围观()