18-09-20 关于Xlwings读写基础1
一 利用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的更多相关文章
- 【转】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,所以对象的统计数据对执行计划的生成至 ...
- 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. ...
- 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 ...
- [网站公告]18:07-18:20阿里云SLB故障造成网站不能正常访问
(注:由于阿里云SLB管理控制台监控数据不准,实际故障时间是18:07-18:20.) 17:55-18:2018:07-18:20,我们使用的阿里云SLB(负载均衡)中有3台出现突发故障,造成全站无 ...
- CentOS 7.5在线安装Docker 18.09.3
1.安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 2.安装docker yum-config-manager -- ...
- 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, ...
- iOS开源库--最全的整理 分类: ios相关 2015-04-08 09:20 486人阅读 评论(0) 收藏
youtube下载神器:https://github.com/rg3/youtube-dl 我擦咧 vim插件:https://github.com/Valloric/YouCompleteMe vi ...
- FlowPortal BPM官网改版了,推出20个流程免费基础版
我一直使用的FlowPortal BPM官网网站近期改版了,看起来更加高大上了.不仅美感提高了,所传递的信息,特别是新老用户所需要的信息也更多了. 对于新版网站,我觉得比较赞的地方: 1.新增开发者中 ...
- 小白学 Python(20):迭代器基础
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...
- C#计算两个时间年份月份差
C#计算两个时间年份月份差 https://blog.csdn.net/u011127019/article/details/79142612
- urllib3
urllib3是一个功能强大.条理清晰.用于http客户端的python库,相对于urllib它所有的特点如下: 线程安全 连接池 客户端SSL/TLS验证 使用多部分编码上传文件 Helpers用于 ...
- MyBatis进阶(一)
MyBatis参数传递 1. MyBatis单参数传递 单参数传递不做特殊处理,直接取出参数值赋给xml文件,如#{id} 2. MyBatis多参数传递 多参数传递默认使用{arg1, arg0, ...
- Linux中通过Socket文件描述符寻找连接状态介绍
针对下文的总结:socket是一种文件描述符 进程的打开文件描述符表 Linux的三个系统调用:open,socket,pipe 返回的都是一个描述符.不同的进程中,他们返回的描述符可以相同.那么,在 ...
- CentOS7.4安装和配置zabbix4.0
一.安装zabbix前,需要搭建好LAMP环境 二.下载zabbix 进入官网:https://www.zabbix.com/ 更多详细内容请参考官方说明文档,详细的安装要求不贴出来了. https: ...
- while循环和递归
这个问题是在数据结构的二叉树添加结点的时候碰见 添加新结点的时候可以用while循环自身解决(这里这个方式更好) 也可以用递归解决 递归就像小明去楼顶取东西 ,从一楼开始爬,看,不是的,继续爬,每层 ...
- Hive和HBase区别
1. 两者分别是什么? Apache Hive是一个构建在Hadoop基础设施之上的数据仓库.通过Hive可以使用HQL语言查询存放在HDFS上的数据.HQL是一种类SQL语言,这种语言最终被转化为M ...
- Go语言学习之10 Web开发与Mysql数据库
本节主要内容: 1. http编程2. mysql使用 1. http编程 (1)http编程分析 Go原生支持http,import(“net/http”) Go的http服务性能和nginx比较接 ...
- Iris 语录
Iris:hello,Loki first congratulatioins to you to upgrade to V2You really did a big progress in v0 an ...
