本问代码仓库: github

文章目录

    • 1. excel常见库文件能力对比
    • 2. 安装库文件
    • 3. xlwing学习
      • 3.1 模块导入
      • 3.2 写入excel的基本操作
      • 3.3 写入excel常见操作
      • 3.4 常规读取
      • 3.5 读取excel常用方式
      • 3.6 更多读取操作

1. excel常见库文件能力对比

个人推荐学习的库文件:

  1. openpyxl
  2. xlwings

2. 安装库文件

pip install xlwings

3. xlwing学习

xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。

xlwings还可以和matplotlib、numpy以及pandas无缝连接,支持读写numpy、pandas数据类型,将matplotlib可视化图表导入到excel中。

最重要的是xlwings可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。

app:应用 一个xlwing程序

book: excel程序 工作簿

sheets: 工作表

range:范围

3.1 模块导入

import xlwings as xw

3.2 写入excel的基本操作

import xlwings as xw
# 创建一个应用  visible : 操作的时候是否可视化,  add_book:打开excel是否新建excel表
# visible and add_book default value all is true.
app = xw.App(visible=True, add_book=False)
# 工作簿
workbook = app.books.add()
# 工作表
sheet = workbook.sheets['sheet1']
# 写入数据
sheet.range('A1').value = "天天学习"

# 保存工作表
workbook.save(r'./excel_sheet/cds_test2.xlsx')
# 关闭工作表
workbook.close()
# 退出app
app.quit()

3.3 写入excel常见操作

import xlwings as xw
# 创建一个应用  visible : 操作的时候是否可视化,  add_book:打开excel是否新建excel表
# visible and add_book default value all is true.
app = xw.App(visible=True, add_book=False)
# 工作簿
workbook = app.books.add()
# 工作表
sheet = workbook.sheets['sheet1']
# 指定单元格写入数据
sheet.range('A1').value = "天天学习"

# 指定单元格写入
sheet.range("A2").value = "new value"

# 指定单元格写入
sheet.range("A2").value = "new value"

# 插入一列 transpose:翻转
sheet.range("C5:C8").options(transpose=True).value = [5, 6, 7]

# 保存
workbook.save(r'./excel_sheet/demo3.xlsx')
workbook.close()
app.quit()

3.4 常规读取

import xlwings as xw
# 创建一个应用  visible : 操作的时候是否可视化,  add_book:打开excel是否新建excel表
# visible and add_book default value all is true.
app = xw.App(visible=True, add_book=False)
# 工作簿
workbook = app.books.open(r'./excel_sheet/demo3.xlsx')
# 工作表
sheet = workbook.sheets['sheet1']

print(sheet.range("a2").value)


workbook.save()
# 关闭工作表
workbook.close()
# 退出app
app.quit()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KG7y7Wzr-1631460758632)(C:\Users\cds\AppData\Roaming\Typora\typora-user-images\image-20210912232724432.png)]

3.5 读取excel常用方式

import xlwings as xw
# 创建一个应用  visible : 操作的时候是否可视化,  add_book:打开excel是否新建excel表
# visible and add_book default value all is true.
app = xw.App(visible=True, add_book=False)
# 工作簿
workbook = app.books.open(r'./excel_sheet/demo3.xlsx')
# 工作表
sheet = workbook.sheets['sheet1']

# 读取某个位置的数值
print(sheet.range("a2").value)

# 读取某行
print(sheet.range('c4:g4').value)

# 读一列
print(sheet.range('c4:c7').value)

# 读行列
print(sheet.range('c4:g5').value)


# 保存
workbook.save()
# 关闭工作表
workbook.close()
# 退出app
app.quit()

3.6 更多读取操作

import xlwings as xw
# 创建一个应用  visible : 操作的时候是否可视化,  add_book:打开excel是否新建excel表
# visible and add_book default value all is true.
app = xw.App(visible=True, add_book=False)
# 工作簿
workbook = app.books.open(r'./excel_sheet/demo3.xlsx')
# 工作表
sheet = workbook.sheets['sheet1']


# 读取一列
print(sheet.range('a1').expand('down').value)

# 读取一列
print(sheet.range('b1').expand('down').value)

# 读取一列
print(sheet.range('c1').expand('down').value)

# 读取所有关联的
print(sheet.range('c4').expand('table').value)

# 读取所有关联的
print(sheet.range('A1').options(expand='table').value)

更多推荐

python之xlwing教程-快捷读写excel表。