1. xlwings基本对象

    xlwings基本对象

App相当于Excel程序,Book相当于工作簿。N个Excel程序则由apps表示,N个工作簿由books表示。

  1. 对工作簿的操作

    #导入xlwings模块
    import xlwings as xw
    #新建工作簿,这里默认为新建了一个App,即打开Excel程序,并新建一个工作簿
    xw.Book()
    #引用工作簿
    xw.Book('工作簿3')
    # 引用工作簿也可以用books
    xw.books['工作簿3’]
    #打开已有工作簿
    xw.Book(r'e:\myworkbook.xlsx')
  2. 对sheet以及Range的操作
    import xlwings as xw
    wb=xw.Book()
    # 引用名字为"sheet2"的sheet
    sht=wb.sheets['sheet2']
    # 引用"sheet2"中的B1单元格
    rng=sht.range('B1')
    # 将B1单元格的值改为666
    rng.value=666

数据结构

  1. 一维数据
    python的列表,可以和Excel中的行列进行数据交换,python中的一维列表,在Excel中默认为一行数据

    import xlwings as xw
    sht=xw.sheets.active
    # 将1,2,3分别写入了A1,B1,C1单元格中
    sht.range('A1').value=[1,2,3]
    # 将A1,B1,C1单元格的值存入list1列表中
    list1=sht.range('A1:C1').value
    # 将1,2,3分别写入了A1,A2,A3单元格中
    sht.range('A1').options(transpose=True).value=[1,2,3]
    # 将A1,A2,A3单元格中值存入list1列表中
    list1=sht.range('A1:A3').value
  2. 二维数据
    python的二维列表,可以转换为Excel中的行列。二维列表,即列表中的元素还是列表。在Excel中,二维列表中的列表元素,代表Excel表格中的一列。例如:
    # 将a1,a2,a3输入第一列,b1,b2,b3输入第二列
    list1=[[‘a1’,'a2','a3'],['b1','b2','b3']]
    sht.range('A1').value=list1

    运行结果
    # 将A1:B3的值赋给二维列表list1
    list1=sht.range('A1:B3‘).value
  3. Excel中区域的选取表格
    # 选取第一列
    rng=sht. range('A1').expand('down')
    rng.value=['a1','a2','a3']

    第一列
    # 选取第一行
    rng=sht.range('A1').expand('right')
    rng=['a1','b1']

    第一行
    # 选取表格
    rng.sht.range('A1').expand('table')
    rng.value=[[‘a1’,'a2','a3'],['b1','b2','b3']]

    表格

结束

  • 本文首先简单介绍了,通过Python运用xlwings模块,对Excel工作簿、工作表和单元格的操作。
  • 再介绍了xlwings,如何对Excel表格的行和列写入和引用数据
  • 通过二维或者一维列表对Excel工作表的数据进行写入或者引用,既简化了代码,也提高了程序的效率。因为python读写Excel表格的速度,原小于python程序自身的运行速度。

作者:LuckyFrog
链接:http://www.jianshu.com/p/de7efe591c12
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

插上翅膀,让Excel飞起来——xlwings(三)的更多相关文章

  1. 插上翅膀,让Excel飞起来——xlwings(二)

    在上一篇插上翅膀,让Excel飞起来——xlwings(一)中提到利用xlwings模块,用python操作Excel有如下的优点: xlwings能够非常方便的读写Excel文件中的数据,并且能够进 ...

  2. Spring Boot (六): 为 JPA 插上翅膀的 QueryDSL

    在前面的文章中,我们介绍了 JPA 的基础使用方式,<Spring Boot (三): ORM 框架 JPA 与连接池 Hikari>,本篇文章,我们由入门至进阶的介绍一下为 JPA 插上 ...

  3. 插上翅膀,让Excel飞起来——xlwings(一)

    python操作Excel的模块,网上提到的模块大致有:xlwings.xlrd.xlwt.openpyxl.pyxll等,他们提供的功能归纳起来有两种:一.用python读写Excel文件,实际上就 ...

  4. 插上翅膀,让Excel飞起来——xlwings(四)

    前言 当年看<别怕,Excel VBA其实很简单>相见恨晚,看了第一版电子版之后,买了纸质版,然后将其送人.而后,发现出了第二版,买之收藏.之后,发现Python这一编程语言,简直是逆天, ...

  5. 让Jayrock插上翅膀(加入输入输出参数注释,测试页面有注释,下拉框可以搜索)

    继上一篇文章介绍了Jayrock组件开发接口的具体步骤和优缺点之后,今天给大家带来的就是,如何修复这些缺点. 首先来回顾一下修复的缺点有哪些: 1.每个接口的只能写大概的注释,不能分开来写,如接口的主 ...

  6. vundle安装 给vim插上翅膀

    (这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) vundle安装方法如下 首先执行以下命令 $ git clone https://githu ...

  7. 时序数据库(TSDB)-为万物互联插上一双翅膀

    本文由  网易云发布. 时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据.随着5G技术的不断成熟,物联网技术将会使得万物互联.物联网时代之前只有手机.电脑可以联网,以后所有设备都会联 ...

  8. SQL Server服务器上需要导入Excel数据的必要条件

    SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...

  9. XCode4.5.6,iOS6.1下测试 判断当前设备,及其联网状态等; 关于设备插上后XCode检测不出的情况的说明

    目录[-] 一.判断设备 二.判断网络连接状态 三.设备不显示的解决办法 一.判断设备 01 //设备名称 02 return [UIDevice currentDevice].name; 03   ...

随机推荐

  1. [转] iOS开发者的Weex伪最佳实践指北

    [From] http://www.cocoachina.com/ios/20170601/19404.html 引子 这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享 ...

  2. Android 通过网络获取图片的源码

    将开发过程中经常用到的内容做个备份,如下的资料是关于Android 通过网络获取图片的的内容. package com.netimg; import android.app.Activity;impo ...

  3. PIE SDK打开网络地图数据

    1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...

  4. SQL异常捕获

    直接上代码: GO BEGIN TRY DECLARE @res INT SET @res=1/0 PRINT 'no error' END TRY BEGIN CATCH PRINT 'Error ...

  5. 安装软件或运行软件时提示缺少api-ms-win-crt-runtime库解决方法

    最近碰到一个问题,在我软件安装或运行时会提示缺少api-ms-win-crt-runtime-|1-1-0.dll 当然第一个想到的是运行库没有装,但是很清楚的是我的电脑是装过vc_redist_20 ...

  6. 红米note_维修_开机键

    1. 2.在线人工客服(20180919) 很荣幸为您服务,有什么问题可以帮助到您的- 我的手机 后边的 开机键 貌似 不太行了 您好,您是哪款手机 就是 要按 好几次 很用力 才能 开亮手机屏幕木 ...

  7. Google Authenticator(谷歌身份验证器)

    <!DOCTYPE html>Google Authenticator(谷歌身份验证器) ] Google Authenticator(谷歌身份验证器) Google Authentica ...

  8. Java基础23-main方法

    /* 主函数(主方法) 1.public(访问修饰符,公共的)代表类或者该函数访问权限是最大的 2.static 代表主函数随着类的加载就已经存在了 3.void 代表主函数没有具体的返回值 4.ma ...

  9. 里氏替换原则(Liskov Substitution Principle) LSP

    using System; using System.Collections.Generic; using System.Text; namespace LiskovSubstitutionPrinc ...

  10. 分享:JAVA和C# 3DES加密解密

    最近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题,下面分享一下,这里的KEY采用Base64编码,便用分发,因为Java的Byt ...