首页 > 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进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐