专栏导读
-
🌸 欢迎来到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 文件

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
app.screen_updating = False
wb = app.books.open("example.xlsx")
sheet = wb.sheets[0]
data = sheet.range('A1').expand().value
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
app.screen_updating = False
wb = app.books.open("example.xlsx")
sheet = wb.sheets[0]
data = sheet.range('A1').expand().value
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
app.screen_updating = False
wb = app.books.add()
wb.sheets[0].activate()
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
app.screen_updating = False
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
app.screen_updating = False
wb = app.books.add()
sheet = wb.sheets[0]
sheet.range('A1').value = 10
sheet.range('A2').value = 20
sheet.range('A3').formula = '= A1 + A2'
wb.save('hello.xlsx')
wb.close()

总结
-
希望对初学者有帮助
-
致力于办公自动化的小小程序员一枚
-
希望能得到大家的【一个免费关注】!感谢
-
求个 🤞 关注 🤞
-
-
求个 ❤️ 喜欢 ❤️
-
-
求个 👍 收藏 👍
-