python操作excel示例(xlwings库)有实战例子(生成温度表)

简介: python操作excel示例(xlwings库)有实战例子(生成温度表)

前言

xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改 可以和matplotlib以及pandas无缝连接 可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。 开源免费,一直在更新


一、xlwings是什么?

xlwings是一个BSD许可Python库,可以很容易地从Excel调用Python,反之亦然:

  1. Scripting: 使用接近VBA的语法从Python自动化/与Excel交互。
  2. Macros: 用干净而强大的Python代码替换VBA宏。
  3. UDFs: 在Python中编写用户定义函数(UDF)(仅限Windows)。
  4. REST API: 通过REST API操作Excel工作簿。

完全支持Numpy arrays 和Pandas Series/DataFrames . xlwings-powered workbooks are easy to distribute and work on Windows and Mac.

二、使用步骤

1.引入库

代码如下(示例):

import xlwings as xws

2.写入数据

代码如下(示例):

def xw_wirte():
    # 应用方法 创建应用-工作簿-工作表-范围
    # add_book属性表示操作excel时是否新增一个excel文件,默认为ture表示添加
    # 创建应用 visible操作过程是否显示
    app = xws.App(visible=False, add_book=False)
    # 工作簿
    wb = app.books.add()
    # 工作表(不能使用中文命名)
    sht = wb.sheets["sheet1"]
    # 范围(插入数据)options(transpose=True)竖着插入
    sht.range("a1").options(transpose=True) .value = ["xlwings", "hello",
                                                      "world", "beauteful", "friend"]
    sht.range("b1").value = [[1, 2], [3, 4], [5, 6]]
    # 关闭excel 保存excel
    wb.save("demo01.xlsx")
    wb.close()
    app.quit()

2.读取数据

代码如下(示例):

def xw_read():
    # 创建应用
    app = xws.App(visible=False, add_book=False)
    # 打开demo01数据表读取sheet1的数据
    wb = app.books.open("demo01.xlsx")
    sht = wb.sheets["sheet1"]
    # 读取A1到C5的数据
    print(sht.range("a1:c5").value)
    # 打开了就要关闭
    wb.close()
    app.quit()

3.体温数据写入示例

import xlwings as xws
import random
temperature_min = 36.4
temperature_max = 37.0
month = "8月"
day_min = 14
day_max = 30
#可以写成具体的电脑路径(默认为py程序的目录生成)
file_name = r"demo.xlsx"
def sheet1():
    app = xws.App(visible=True, add_book=False)
    wb = app.books.add()
    sht = wb.sheets["sheet1"]
    sht.range("a1").value = ["日期", "早", "中", "晚"]
    lst = []
    for it in range(day_min, day_max):
        temp = month + str(it) + "日"
        lst.append(temp)
    sht.range("a2").options(transpose=True).value = lst
    lst.clear()
    for it in range(day_min, day_max):
        temp = random.uniform(temperature_min, temperature_max)
        lst.append(round(temp, 1))
    sht.range("b2").options(transpose=True).value = lst
    lst.clear()
    for it in range(day_min, day_max):
        temp = random.uniform(temperature_min, temperature_max)
        lst.append(round(temp, 1))
    sht.range("c2").options(transpose=True).value = lst
    lst.clear()
    for it in range(day_min, day_max):
        temp = random.uniform(temperature_min, temperature_max)
        lst.append(round(temp, 1))
    sht.range("d2").options(transpose=True).value = lst
    wb.save(file_name)
    wb.close()
    app.quit()
    
def main():
    # 写文件
    # xw_read()
    # 读文件
    # xw_wirte()
    sheet1()
if __name__ == "__main__":
    main()

运行截图

这里顺便提一下随机数生成:

1.参生n–m范围内的一个随机数: random.randint(n,m)

2.产生0到1之间的浮点数: random.random()

3.产生n—m之间的浮点数: random.uniform(1.1,5.4)

4.产生从n—m间隔为k的整数: random.randrange(n,m,k)

5.从序列中随机选取一个元素: random.choice([1, 2, 3, 4, 5, 6, 7, 8])

6.在一些特殊的情况下可能对序列进行一次打乱操作: random.shuffle([1,3,5,6,7])


总结

提示:以上就是今天学习的内容,本文仅仅简单介绍了xlwings的使用,而xlwings提供了大量能使我们快速便捷地处理数据的函数和方法。具体可以去xlwings官网了解:点击直达

python操作excel的库有非常多,使用都非常简单,常见的有xlwings、xlrd、xlwt、openpyxl、pyxl具体的使用方法以后可能会有讲解,请持续关注。


目录
打赏
0
0
0
0
6
分享
相关文章
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化和调试技巧,涵盖使用内置函数、列表推导式、生成器、`cProfile`、`numpy`等优化手段,以及`print`、`assert`、`pdb`和`logging`等调试方法。通过实战项目如优化排序算法和日志记录的Web爬虫,帮助你编写高效稳定的Python程序。
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
Python 高级编程与实战:深入理解面向对象与并发编程
本文深入探讨Python的高级特性,涵盖面向对象编程(继承、多态、特殊方法、类与实例属性)、异常处理(try-except、finally)和并发编程(多线程、多进程、异步编程)。通过实战项目如聊天服务器和异步文件下载器,帮助读者掌握这些技术,编写更复杂高效的Python程序。
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
Python高级编程与实战:深入理解函数式编程与元编程
本文深入介绍Python的函数式编程和元编程。函数式编程强调纯函数与不可变数据,涵盖`map`、`filter`、`reduce`及`lambda`的使用;元编程则涉及装饰器、元类和动态属性等内容。通过实战项目如日志记录器和配置管理器,帮助读者掌握这些高级技术,编写更灵活高效的Python程序。
Python 高级编程与实战:深入理解并发编程与分布式系统
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发、API 设计、网络编程和异步IO。本文将深入探讨 Python 在并发编程和分布式系统中的应用,并通过实战项目帮助你掌握这些技术。
Python 高级编程与实战:深入理解网络编程与异步IO
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发和 API 设计。本文将深入探讨 Python 在网络编程和异步IO中的应用,并通过实战项目帮助你掌握这些技术。
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等