首页 > Python资料 博客日记
Python100个库分享第22个—xlwings的写入与读取 (办公篇)
2024-09-21 08:00:04Python资料围观47次
文章Python100个库分享第22个—xlwings的写入与读取 (办公篇)分享给大家,欢迎收藏Python资料网,专注分享技术知识
目录
专栏导读
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
库的介绍
-
xlwings 是一个用于与 Excel 交互的 Python 库。它允许你使用 Python 代码读取、写入和操作 Excel 文件(.xlsx 和 .xls),同时保持 Excel 应用程序的界面可用,这样你可以实时查看和交互。xlwings 的主要优势在于其易用性和强大的功能,它支持 Excel 的大部分功能,如公式、图表、形状、图像等。
库的安装
pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple/
基础用法1:打开并读取 Excel 文件
-
先准备一个测试Excel数据
import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
wb = app.books.open("example.xlsx")
sheet = wb.sheets[0] # 或者 sheet = wb.sheets["索引值从0开始"]
data = sheet.range('A1').expand().value
# print(data)
for i in data:
print(i)
# 关闭
wb.close()
-
输出
['表头1', '表头2', '表头3', '表头4', '表头5', '表头6', '表头7', '表头8', '表头9', '表头10']
['数据1', '数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10']
['数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11']
['数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12']
['数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12', '数据13']
['数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12', '数据13', '数据14']
['数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12', '数据13', '数据14', '数据15']
['数据7', '数据8', '数据9', '数据10', '数据11', '数据12', '数据13', '数据14', '数据15', '数据16']
['数据8', '数据9', '数据10', '数据11', '数据12', '数据13', '数据14', '数据15', '数据16', '数据17']
['数据9', '数据10', '数据11', '数据12', '数据13', '数据14', '数据15', '数据16', '数据17', '数据18']
['数据10', '数据11', '数据12', '数据13', '数据14', '数据15', '数据16', '数据17', '数据18', '数据19']
基础用法2:读取某一行 (注意点:expand(‘right’))
import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
wb = app.books.open("example.xlsx")
sheet = wb.sheets[0] # 或者 sheet = wb.sheets["索引值从0开始"]
data = sheet.range('A1').expand().value
# print(data)
# for i in data:
# print(i)
# 读取第1行
value = sheet.range('A1').expand('right').value
print('第 1 行的数据为:',value)
# 或
value = sheet.range(2,1).expand('right').value
print('第 2 行的数据为:',value)
# 关闭
wb.close()
-
输出
第 1 行的数据为: ['表头1', '表头2', '表头3', '表头4', '表头5', '表头6', '表头7', '表头8', '表头9', '表头10']
第 2 行的数据为: ['数据1', '数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10']
基础用法3:读取某一列 (注意点:expand(‘down’))
import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
wb = app.books.open("example.xlsx")
sheet = wb.sheets[0] # 或者 sheet = wb.sheets["索引值从0开始"]
data = sheet.range('A1').expand().value
# print(data)
# for i in data:
# print(i)
# 读取第K1列
value = sheet.range('C1').expand('down').value
print('第 3 列的数据为:',value)
# 或
value = sheet.range(1,1).expand('down').value
print('第 1 列的数据为:',value)
# 关闭
wb.close()
-
输出
第 3 列的数据为: ['表头3', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12']
第 1 列的数据为: ['表头1', '数据1', '数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10']
基础用法4:在某单元格写入数据
import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
# 创建一个新的 Excel 工作簿
wb = app.books.add()
# 选择第一个工作表
wb.sheets[0].activate()
# 在 A1 单元格写入值
wb.sheets[0].range('A1').value = 'Hello, World!'
# 保存并关闭工作簿
wb.save('hello.xlsx')
# 关闭
wb.close()
-
输出
基础用法4:写入多行
在这里插入代码片import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
# 创建一个新的 Excel 工作簿
wb = app.books.add()
# 选择第一个工作表
wb.sheets[0].activate()
datas = [
['姓名', '年龄', '性别'],
['张三', 18, '男'],
['李四', 20, '女'],
['王五', 22, '男'],
['赵六', 24, '男'],
['孙七', 26, '女']
]
# 写入多列
for num,row in enumerate(datas):
wb.sheets[0].range('A%s'%(num+1)).value = row
# 保存并关闭工作簿
wb.save('hello.xlsx')
# 关闭
wb.close()
-
输出
基础用法5:写入公式
import xlwings as xw
app = xw.App(visible=False, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = False # 更新显示工作表的内容。默认为 True。关闭它也可以提升运行速度。
# 创建一个新的 Excel 工作簿
wb = app.books.add()
# 选择第一个工作表
sheet = wb.sheets[0]
# 在 A1 单元格写入值
sheet.range('A1').value = 10
sheet.range('A2').value = 20
# 在 A3 单元格使用公式
sheet.range('A3').formula = '= A1 + A2'
# 保存并关闭工作簿
wb.save('hello.xlsx')
# 关闭
wb.close()
-
输出
总结
-
希望对初学者有帮助
-
致力于办公自动化的小小程序员一枚
-
希望能得到大家的【一个免费关注】!感谢
-
求个 🤞 关注 🤞
-
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
-
求个 ❤️ 喜欢 ❤️
-
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
-
求个 👍 收藏 👍
-
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj