python-xlwings基础操作
  L36BPuQJGvRP 2023年11月02日 52 0
  • 基本操作

创建app

app = xw.App(visible=True,add_book=False)

visibe:是否显示操作

add_book:是否新增sheet页

打开文件

wb = app.books.open(file_path)

打开sheet表

sht = wb.sheets[0]

写入

sht.range('a1').value = 'Hello!' # 单个单元格写入

sht.range('a1').value = ["a","b","c","d","e"] # 从a1开始多个单元格写入

sht.range('a1:d1').value = ["a1","b1","c1","d1"] # 范围写入

sht.used_range # 读取行数

sht.range('a1').options(transpose=True).value = [1,2,3,4,5] # 按列写入,竖着写入

sht.range('a1').expand('table').options(transpose=True).value = [[1,2,3],[4,5,6],[7,8,9]] # 写入一个表格,transpose表示按行写入

options(transpose=True) 竖着写入

expand('table') 写入一个表格(比如列表嵌套)

读取

sht.range('a1').value # 读取单个单元格

sht.range('a1:d2').value # 范围读取


rng = sht.range('a1').expand('table') # 获取列的范围

nrows = rng.rows.count # 根据范围获取列有多少个元素

data = sht.range(f'a1:a{nrows}').value # 读取一列数据


all_data = sht.range((1,1),(sht.used_range.shape)).value # 读取单个sheet中的所有数据,(sht.used_range.shape)获取sheet表中的行列数

单元格格式

sht.autofit() # 自动调整单元格大小。注:此方法是在单元格写入内容后,再使用,才有效。

sht.range('A1').columns.autofit() # 列宽自适应

sht.range('A1').rows.autofit() # 行高自适应

保存

wb.save(excel_path)

关闭books

wb.close()

关闭app

app.quit()

例子:

读取excel表中的第一个sheet内容

import xlwings as xw

file_path = "test.xlsx"
app = xw.App(visible=True, add_book=False)
wb = app.books.open(file_path)
sht = wb.sheets[0]
all_data = sht.range((1,1),(sht.used_range.shape)).value
wb.close()
app.quit()
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   93   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   67   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   35   0   0 Python
L36BPuQJGvRP
作者其他文章 更多