一 利用xlwings 读取Excel 的读取修改数据 

import xlwings as xw
"""
# 1. 读一个已存在的Excel文件:利用xlwings 读取Excel中的一个单元格 并且修改
app=xw.App(visible=False,add_book=False)
app.display_alerts=False
app.screen_updating=False
filepath=r'e:\111.xlsx'
wb=app.books.open(filepath) #读取某个目录文件
print(wb.sheets["小花猫"].range('b4').value) #通过已知的sheet 名字,和表格(行字母+列数字)去读取读取Excel的数据
 1查看一个单元格的数据
# print(wb.sheets["小花猫"].range('b4').value) #读取Exceld单元格的数据 # 2按照sheet增加或修改一个单元格的数据
# wb.sheets['小花猫'].range('b4').value='天道酬勤11' #修改数据 # 3增加一个sheet
# wb.sheets.add()??? # 4 激活指定的表格,指定表格位置或表格名称
# sht = wb.sheets
# wb.sheets[0].activate() #索引
# wb.sheets["我的sheet2"].activate() #名称
# 查看激活的表格
# print(sht.active) # 5 查看当前表格名称
# print(sht[1].name)
print(22) # 6 删除当前表格(前提必须先激活才行)
# sht[1].delete() # 7 查看当前激活的表格,有无返回值????
# sht[0].select() # 8 取值
# sht = wb.sheets["Sheet1"]
# A2_A5 = sht["A2:b5"] # 截取A2到A5 的数据数组的形式
# print(A2_A5.value)
wb.save()
wb.close()
app.quit()
# ===============================================
# 2.新建Excel 并写入一些数据区别于Xlwt
import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
# wb就是新建的工作簿(workbook),下面则对wb的sheet1的A1单元格赋值
wb.sheets['sheet1'].range('A8').value='Hello'
wb.sheets[0].range(8,2).value='World!'
wb.save(r'E:\11.xlsx')
wb.close()
app.quit() 3.单元格的多种引用方式

1按照sheet引用方式
#3-1 获取A1单元格
rng=sht[’A1']
#3-2 获取A1:B5单元格
rng=sht['A1:B5']
# 在第i+1行,第j+1列的单元格
#3-3 B1单元格
rng=sht[0,1]
#3-4 A1:J10????? #索引取值
rng=sht[:10,:10] 2按照range 索引引用方式
# 可以用表示行列的tuple进行引用
#3-5 A1单元格的引用
xw.Range(1,1)
#3-6 A1:C3单元格的引用
xw.Range((1,1),(3,3)
"""
# 3 对Excel数据的写操作
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False
app.screen_updating=False
filepath=r'E:\11.xlsx'
wb=app.books.open(filepath)
sht = wb.sheets[0] #3-1要求写入A1 到 E1 的数据 整行的数据
# sht.range("A1").value= [1,2,3,4,5] #3-2要求写入A2 到 A6的数据 整列的数据
sht.range("A2").options(transpose=True).value= [1,2,3,4,5] # 3-3将2x2表格,即二维数组,储存在A1:B2中,如第一行1,2,第二行3,4
sht.range('B1').options(expand='table').value=[[1,2],[3,4]] # 3-4将单元格 A1的值,读取到a变量中
a=sht.range('A1').value
# print(a) # 3-5 读取整列的值 成为一个列表将A1到A3的值,读取到a列表中
b=sht.range('A1:A3').value #[1.0, 1.0, 2.0]
# print(b) # 3-6 将第一行和第二行的数据按二维数组的方式读取
d=sht.range('B1:C2').value #[[1.0, 2.0], [3.0, 4.0]]
# print(d) wb.save()
wb.close()
print("完成")
app.quit()

18-09-20 关于Xlwings读写基础1的更多相关文章

  1. 【转】DBMS_STATS.GATHER_TABLE_STATS详解 2012-04-22 09:20:10

    [转]DBMS_STATS.GATHER_TABLE_STATS详解 2012-04-22 09:20:10 分类: Linux 由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至 ...

  2. idea报错:[2016-08-31 09:20:10,763] Artifact xxx:war exploded: Error during artifact deployment.

    [2016-08-31 09:20:10,763] Artifact newClassProject1:war exploded: Error during artifact deployment. ...

  3. NVIDIA-docker报错:docker-ce (= 5:18.09.0~3-0~ubuntu-xenial) but 18.06.0~ce~3-0~ubuntu is to be installed

    报错: The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 5:18.09.0 ...

  4. [网站公告]18:07-18:20阿里云SLB故障造成网站不能正常访问

    (注:由于阿里云SLB管理控制台监控数据不准,实际故障时间是18:07-18:20.) 17:55-18:2018:07-18:20,我们使用的阿里云SLB(负载均衡)中有3台出现突发故障,造成全站无 ...

  5. CentOS 7.5在线安装Docker 18.09.3

    1.安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 2.安装docker yum-config-manager -- ...

  6. Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

    安装Docker时报错 Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, ...

  7. iOS开源库--最全的整理 分类: ios相关 2015-04-08 09:20 486人阅读 评论(0) 收藏

    youtube下载神器:https://github.com/rg3/youtube-dl 我擦咧 vim插件:https://github.com/Valloric/YouCompleteMe vi ...

  8. FlowPortal BPM官网改版了,推出20个流程免费基础版

    我一直使用的FlowPortal BPM官网网站近期改版了,看起来更加高大上了.不仅美感提高了,所传递的信息,特别是新老用户所需要的信息也更多了. 对于新版网站,我觉得比较赞的地方: 1.新增开发者中 ...

  9. 小白学 Python(20):迭代器基础

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

随机推荐

  1. java输入输出流(I/O)总结

    io流的 四个基本类 java.io包中包含了流式I/O所需要的所有类.在java.io包中有四个基本类:InputStream.OutputStream及Reader.Writer类,它们分别处理字 ...

  2. 用java生成32位全球唯一的id编号

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...

  3. 转:图解C#的值类型,引用类型,栈,堆,ref,out

    C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解.还有托管堆,栈,ref,out等等概念也是每个C#程序员都会接触到的概念,也是C#程序员面试经常考到的知识,随便搜搜 ...

  4. JAVA JDK 环境变量配置--简单图解

    Linux下的Jmeter运行测试 本文主要介绍Jmeter脚本如何在Linux通过no GUI的方式运行.总共分三部分: 1.Linux下JDK的安装及环境变量的配置 2.Linux下Jmeter的 ...

  5. mybatis 查询优化主子表查询之association和collection

    很多开发人员之所以编写出低效的应用,有一大原因是并不理解怎样编写高效的SQL.以订单查询为例,我们经常需要查询某个用户的订单以及订单明细,并且以树形方式展现如下: 对于这种性质的功能,很多开发人员的做 ...

  6. vscode设置代码块

    需要注意一点是,内容主体里面带有缩进的地方不能用 Tab,只能用空格

  7. for循环介绍

    流程控制之for循环names=['yb','zs','yxd','lb'] i=0 while i < len(names): #4 < 4 print(names[i]) i+=1 # ...

  8. Lintcode40-Implement Queue by Two Stacks-Medium

    40. Implement Queue by Two Stacks As the title described, you should only use two stacks to implemen ...

  9. MSSQL 数据库 buildindex 出错

    错误1: Executing the query "ALTER INDEX [IX_liveConfigState_Service_ServiceId_..." failed wi ...

  10. WordPress上传到互联网搭建

    1.建站流程: 1.购买域名 2.购买空间 3.解析绑定 4.上传安装 2.购买域名 域名的购买可以到相关域名出售的服务商那儿买,如阿里云,主机庙.这里就不做详细解释了 3.购买空间 域名的购买可以到 ...