详解python的xlwings库读写excel操作总结


Posted in Python onFebruary 26, 2021

一、总结(点击显示或隐藏总结内容)

一句话总结:
xlwings 是 Python 中操作Excel的一个第三方库,支持.xls读写,.xlsx读写,操作非常简单,功能也很强大

1、xlwings 中的逻辑:应用->工作簿->工作表->范围 对应的代码?

应用:一个应用(一个xlwings程序):app = xw.App(visible=True, add_book=False)
工作簿(book):excel文件(excel程序):wb = app.books.add()
工作表(sheet):sheet:sht = wb.sheets['sheet1']
范围:行列:sht.range('a6').expand('table').value = [['a','b'],['d','e']]

import xlwings as xw

# 写到Excel中去
# add_book也就是是否增加excel 的book
# visible=True 表示操作过程是否可显示
app = xw.App(visible=True, add_book=False)
# 工作簿
wb = app.books.add()

# 页sheet1
sht = wb.sheets['sheet1']
# 单个值插入
# sht.range('A1').value = '产品名称'
# sht.range('B1').value = '编号'
# sht.range('C1').value = '价格'
# sht.range('A2').value = '不告诉你'
# sht.range('B2').value = 'n110110'
# sht.range('C2').value = '688.26'
# sht.range('A3').value = '不告诉你1'
# sht.range('B3').value = 'n1101101'
# sht.range('C3').value = '688.261'

# 插入一行
# sht.range('a1').value = [1,2,3,4]
# 等同于
# sht.range('a1:d4').value = [1,2,3,4]

# 插入一列
# sht.range('a2').options(transpose=True).value = [5,6,7,8]

# 同时插入行列
# sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]

# 在当前目录下生成文件
wb.save('demo1.xlsx')
wb.close()
app.quit()

# import os
# path1=os.path.abspath('.')  # 表示当前所处的文件夹的绝对路径
# print(path1)
# path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径
# print(path2)

# 关于路径问题,切换到指定目录即可

2、xlwings库向excel 插入值的方式?

a、插入单个值:sht.range('A1').value = '产品名称'
b、插入一行:sht.range('a1').value = [1,2,3,4] 或者 sht.range('a1:d4').value = [1,2,3,4]
c、插入一列:sht.range('a2').options(transpose=True).value = [5,6,7,8]
d、同时插入行列:sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
 

3、xlwings库 读写excel基本操作步骤?

就是按照xlwings库逻辑(应用->工作簿->工作表->范围)操作即可,打开的记得关就好了,该读就读,该写就写

app = xw.App(visible=True, add_book=False)
# 工作簿
wb = app.books.add()
# 页sheet1
sht = wb.sheets['sheet1']
# 同时插入行列
sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
# 在当前目录下生成文件
wb.save('demo1.xlsx')
wb.close()
app.quit()

4、xlwings库 读取excel中的数据的方式?

print(sht.range('a1:c7').value),这样读行,读列,还是同时读行读列都可以

 

# 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
print(sht.range('a1:c7').value)

# 读取行:得一维列表 
# print(sht.range('a1:c1').value)

# 读取列:得一维列表
# print(sht.range('a1:a7').value)
import xlwings as xw

app = xw.App(visible=True, add_book=False)
# 显示警报()
app.display_alerts = True
# 屏幕更新(应用中)
app.screen_updating = True
# 打开文件

wb = app.books.open('demo1.xlsx')
sht = wb.sheets['sheet1']

# 遍历读取单元格
# column_name = ['A','B',"C"]
# data_list = [] #将数据存到list中去
# for i in range(3): # 遍历行
#   row_list = []
#   for j in range(3): #遍历列
#     str1 = column_name[j]+str(i+1)
#     a = sht.range(str1).value
#     row_list.append(a)
#     print(a)
#     pass
#   data_list.append(row_list)
#   pass
# print(data_list)

# 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
print(sht.range('a1:c7').value)

# 读取行:得一维列表 
# print(sht.range('a1:c1').value)

# 读取列:得一维列表
# print(sht.range('a1:a7').value)
wb.save()
wb.close()
app.quit()

二、python的xlwings库读写excel操作总结

1、写

"""

xlwings介绍
xlwings 是 Python 中操作Excel 的一个第三方库,
支持.xls读写,.xlsx读写
操作非常简单,功能也很强大

1、安装库
pip3 install xlwings

2、引入库
import xlwings as xw

3、
应用->工作簿->工作表->范围

应用:一个应用(一个xlwings程序):
app = xw.App(visible=True, add_book=False)

工作簿(book):
excel文件(excel程序):wb = app.books.add()

工作表(sheet):
sheet:sht = wb.sheets['sheet1']

范围:行列:
sht.range('a6').expand('table').value = [['a','b'],['d','e']]

xlwings.App(visible=True,add_book=False)
其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)

"""
import xlwings as xw

# 写到Excel中去
# add_book也就是是否增加excel 的book
# visible=True 表示操作过程是否可显示
app = xw.App(visible=True, add_book=False)
# 工作簿
wb = app.books.add()

# 页sheet1
sht = wb.sheets['sheet1']
# 单个值插入
# sht.range('A1').value = '产品名称'
# sht.range('B1').value = '编号'
# sht.range('C1').value = '价格'
# sht.range('A2').value = '不告诉你'
# sht.range('B2').value = 'n110110'
# sht.range('C2').value = '688.26'
# sht.range('A3').value = '不告诉你1'
# sht.range('B3').value = 'n1101101'
# sht.range('C3').value = '688.261'

# 插入一行
# sht.range('a1').value = [1,2,3,4]
# 等同于
# sht.range('a1:d4').value = [1,2,3,4]

# 插入一列
# sht.range('a2').options(transpose=True).value = [5,6,7,8]

# 同时插入行列
# sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]

# 在当前目录下生成文件
wb.save('demo1.xlsx')
wb.close()
app.quit()

# import os
# path1=os.path.abspath('.')  # 表示当前所处的文件夹的绝对路径
# print(path1)
# path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径
# print(path2)

# 关于路径问题,切换到指定目录即可

2、读

import xlwings as xw

app = xw.App(visible=True, add_book=False)
# 显示警报()
app.display_alerts = True
# 屏幕更新(应用中)
app.screen_updating = True
# 打开文件

wb = app.books.open('demo1.xlsx')
sht = wb.sheets['sheet1']

# 遍历读取单元格
# column_name = ['A','B',"C"]
# data_list = [] #将数据存到list中去
# for i in range(3): # 遍历行
#   row_list = []
#   for j in range(3): #遍历列
#     str1 = column_name[j]+str(i+1)
#     a = sht.range(str1).value
#     row_list.append(a)
#     print(a)
#     pass
#   data_list.append(row_list)
#   pass
# print(data_list)

# 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
print(sht.range('a1:c7').value)

# 读取行:得一维列表
# print(sht.range('a1:c1').value)

# 读取列:得一维列表
# print(sht.range('a1:a7').value)

wb.save()
wb.close()
app.quit()

到此这篇关于详解python的xlwings库读写excel操作总结的文章就介绍到这了,更多相关python xlwings库读写excel内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之坑爹的字符编码
Sep 28 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
Python的Django框架中的数据过滤功能
Jul 17 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
django自带的server 让外网主机访问方法
May 14 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
Jan 20 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
python程序文件扩展名知识点详解
Feb 27 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
Python字符串格式化方式
Apr 07 Python
pytorch 中forward 的用法与解释说明
Feb 26 #Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 #Python
pycharm Tab键设置成4个空格的操作
Feb 26 #Python
解决pycharm 格式报错tabs和space不一致问题
Feb 26 #Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 26 #Python
Python爬取网站图片并保存的实现示例
Feb 26 #Python
python中使用asyncio实现异步IO实例分析
Feb 26 #Python
You might like
最省空间的计数器
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php数组去重的函数代码
2013/02/03 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
销售员自我评价怎么写
2013/09/19 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
个人原因辞职信模板
2015/05/13 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL