Python最好的Excel第三方库——xlwings快速上手

Python最好的Excel第三方库——xlwings快速上手

  • 安装
  • 1 连接工作簿
  • 2 实例化工作表
  • 3 读写数据
  • 4 数据兼容
  • 5 插入图片
  • 其他
  • 参考文献

安装

pip install xlwings

conda install xlwings

1 连接工作簿

import xlwings as xw
wb = xw.Book()  # 创建新的工作簿
# wb = xw.Book('FileName.xlsx')  # 连接当前工作路径的工作簿
# wb = xw.Book(r'C:\path\to\file.xlsx')  # Windows下用raw string构建路径连接指定工作簿

2 实例化工作表

sht = wb.sheets['Sheet1']

3 读写数据

sht.range('A1').value = 'Foo 1'
print(sht.range('A1').value) # Foo 1

甚至可以扩展范围

sht.range('A1').value = [['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]
print(sht.range('A1').expand().value) # [['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]

看一下效果

wb.save('test.xlsx')

在这里插入图片描述

4 数据兼容

强力的转换器能处理互联网中的绝大多数数据类型,包括Numpy arrays和Pandas DataFrames

import pandas as pd
df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
sht.range('A1').value = df
print(sht.range('A1').options(pd.DataFrame, expand='table').value)
       a    b
0.0  1.0  2.0
1.0  3.0  4.0

Matplotlib的图像也能在Excel中出现

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([1, 2, 3, 4, 5])
sht.pictures.add(fig, name='MyPlot', update=True)

wb.save('test.xlsx')
wb.close()

Python最好的Excel第三方库——xlwings快速上手_第1张图片

5 插入图片

import os
import xlwings as xw

wb = xw.Book()
sht = wb.sheets['Sheet1']
# sht.pictures.add('1.jpg')  # 使用相对路径会报错,xlwings版本0.15.8下
sht.pictures.add(os.path.join(os.getcwd(), '1.jpg'))
wb.save('test.xlsx')
wb.close()

可指定位置和大小,具体见:https://blog.csdn.net/lly1122334/article/details/100160206

其他

  1. 关闭Excel显示

参考文献

  1. Python读写Excel文件第三方库汇总,你想要的都在这儿!
  2. Quickstart — xlwings dev documentation

你可能感兴趣的:(Python)