python操作xls使用xlwings代提openpyxl基础

 更新时间:2023年08月14日 09:58:47   作者:Twilight  
这篇文章主要为大家介绍了python操作xls使用xlwings代提openpyxl示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

xlwings基础操作

放弃openpyxl的基础理由:

  • ①不支持xls文件处理;
  • ②亲测目前版本样式保存的bug还未解决;

如果遇到上面两个问题,直接放弃openpyxl,拥抱xlwings吧,没什么出路;

xlwings文档在国内搜索基本很少,如下是基本的单元格操作;

基本单元格操作

在如下未满足的情况,可以看下Office操作文档 ,xlwings可以调它的api。

# coding=utf-8
import xlwings as xw
# 设置程序不可见运行
app = xw.App(visible=False, add_book=False)
# ===============  第一部分,创建并写入数据 =====================
# 创建一个test2.xlsx表,并写入数据
# wb = app.books.add()
# ws = wb.sheets.active
# arr = []
# for col in range(1,4):
#     arr_temp = []
#     for row in range(1,4):
#         arr_temp.append(col*10+row)
#     arr.append(arr_temp)
# ws.range('A1:B3').value=arr
# wb.save('data/test2.xlsx')
# wb.close()
# app.quit()
# exit()
# ============== 第二部分,插入、删除行和列 ========================
# 导入已存的demo表格
load_wb = app.books.open('data/test2.xlsx')
# # 打开活动的工作薄的活动工作簿,或者指定的工作簿
load_ws = load_wb.sheets.active
# load_ws = load_wb.sheets['Sheet']
# 获取总行数(存在数据)
rows = load_ws.api.UsedRange.Rows.count
cols = load_ws.api.UsedRange.Columns.count
# print('该表格总共有:'+str(rows)+' 行')
# print('该表格总共有:'+str(cols)+' 列')
# exit()
# 1-①在第二行前插入2行(可理解为: 在第2-4行插入空白行)
# load_ws.api.rows('2:4').insert
# 1-②删除第2-4行
# load_ws.api.rows('2:4').delete
# 2-①在第二列前插入2列(这里处理的不是很好,其实是增加了对应区域的单元格,并未直接增加列)
# load_ws.range('B1:C'+str(cols)).api.insert
# 2-②删除第2-4列
# load_ws.range('B1:C'+str(cols)).api.delete
# ============== 第三部分,修改指定单元格的值 ========================
# load_ws.range('A1').value = 'x11'
# ============== 第四部分,合并单元格 ========================
# load_ws.range('A1:A2').api.merge
# ============== 第五部分,获取单元格横纵坐标index ========================
rng=xw.Range('B2')
# 返回当前格子的行值
# print(rng.row)
# 返回当前格子的列值
# print(rng.column)
# 返回和设置当前格子的高度和宽度
print(rng.width)
print(rng.height)
rng.row_height=40
rng.column_width=50
# 指定单元格的高度和宽度自适应
# rng.columns.autofit()
rng.rows.autofit()
print(rng.width)
print(rng.height)
# load_ws.range('A1:A2').api.height = 20
# ============== 第六部分,其它 ========================
# lst=load_ws.range('A1:A'+str(load_ws['A1048576'].end('up').row)).value #把excel单列值读取到列表中
# lst1=load_ws.range('A1:C'+str(load_ws['A1048576'].end('up').row)).value # 把excel连续两个列的值读取到列表中
# lst=load_ws.range('A1:A'+str(load_ws['A1048576'].end('up').row)).value #A列的值
# lst2=load_ws.range('C1:C'+str(load_ws['A1048576'].end('up').row)).value#C列的值
# lst3=list(zip(lst,lst2))#合并起来然后转为列表
# dicta=dict(lst3)#列表转为字典
# ============== 第七部分,Office操作文档 ========================
# https://docs.microsoft.com/en-us/office/vba/api/excel.range(object)
load_wb.save()
load_wb.close()
app.quit()

以上就是python操作xls使用xlwings代提openpyxl示例的详细内容,更多关于python xlwings操作xls的资料请关注脚本之家其它相关文章!

相关文章

  • python查看文件大小和文件夹内容的方法

    python查看文件大小和文件夹内容的方法

    今天小编就为大家分享一篇python查看文件大小和文件夹内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python免费试用最新Openai API的步骤

    Python免费试用最新Openai API的步骤

    本文主要介绍了Python免费试用最新Openai API,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python3实现ftp服务功能(服务端 For Linux)

    python3实现ftp服务功能(服务端 For Linux)

    这篇文章主要介绍了python3实现ftp服务功能,服务端 For Linux,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 基于Python实现一个简易的数据管理系统

    基于Python实现一个简易的数据管理系统

    为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的增删改查等等。感兴趣的可以跟随小编一起学习一下
    2021-12-12
  • Django中的FBV和CBV用法详解

    Django中的FBV和CBV用法详解

    这篇文章主要介绍了Django中的FBV和CBV用法详解,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python开发之迭代器&生成器的实战案例分享

    Python开发之迭代器&生成器的实战案例分享

    在 Python 中,迭代器和生成器都是用来遍历数据集合的工具,可以按需逐个生成或返回数据,从而避免一次性加载整个数据集合所带来的性能问题和内存消耗问题。本文主要和大家分享几个贴近实际运维开发工作中的场景案例,希望对大家有所帮助
    2023-04-04
  • python统计字符串中字母出现次数代码实例

    python统计字符串中字母出现次数代码实例

    这篇文章主要介绍了python统计字符串中字母出现次数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python环境搭建以及Python与PyCharm安装详细图文教程

    Python环境搭建以及Python与PyCharm安装详细图文教程

    PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,这篇文章主要给大家介绍了关于Python环境搭建以及Python与PyCharm安装的详细图文教程,需要的朋友可以参考下
    2024-03-03
  • 详解django的serializer序列化model几种方法

    详解django的serializer序列化model几种方法

    序列化是将对象状态转换为可保持或传输的格式的过程。这篇文章主要介绍了详解django的serializer序列化model几种方法。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Python字符串拼接的4种方法实例

    Python字符串拼接的4种方法实例

    字符串是所有编程语言中都有的基本变量的类型 ,程序员基本每天都在和字符串打交道,下面这篇文章主要给大家介绍了关于Python字符串拼接的4种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论