Python操作xlwings的实例详解

  • Post category:Python

下面我来详细讲解“Python操作xlwings的实例详解”的完整实例教程。

1. 安装xlwings

首先需要安装xlwings库,可以使用pip命令进行安装:

pip install xlwings

2. 创建Excel文件

使用Excel软件创建一个工作簿,并命名为test.xlsx,在第一个工作表中分别填入如下数据:

序号 姓名 年龄
1 张三 20
2 李四 25
3 王五 30

保存并关闭该工作簿。

3. 导入xlwings库

在Python中,通过import语句导入xlwings库和os库:

import xlwings as xw
import os

4. 打开Excel文件

使用xlwings库的Book()构造函数打开该Excel文件,然后使用Workbook()方法将该工作簿分配给变量book

filename = 'test.xlsx'
file_path = os.path.abspath(filename)
app = xw.App(visible=False)
book = xw.Book(file_path)

其中filename为文件名,file_path为文件的绝对路径。

5. 读取Excel文件中的数据

读取Excel文件中的数据需要先获取对应的工作表对象,然后使用range()方法选取数据区域,并使用options()方法指定返回结果的格式为np.array

worksheet = book.sheets[0]
rng = worksheet.range('A2:C4').options(expand='table').value
print(rng)

输出结果为:

array([[1, '张三', 20],
       [2, '李四', 25],
       [3, '王五', 30]], dtype=object)

其中rng是返回的数据,将其输出在终端中。

6. 向Excel文件中写入数据

向Excel文件中写入数据需要先获取对应的工作表对象,然后使用range()方法选取要写入数据的单元格,然后再使用value属性写入数据:

worksheet = book.sheets[0]
worksheet.range('A5:C7').value = [[4, '赵六', 35], [5, '钱七', 40], [6, '孙八', 45]]
book.save()
app.quit()

上述代码将数据写入到第一个工作表的A5:C7的单元格中,并保存该工作簿。最后使用quit()方法关闭Excel软件并释放内存。

示例2:将pandas的dataframe写入到Excel文件中

import pandas as pd

data = {'序号': [1, 2, 3], '姓名': ['张三', '李四', '王五'], '年龄': [20, 25, 30]}
df = pd.DataFrame(data)

filename = 'test.xlsx'
file_path = os.path.abspath(filename)

app = xw.App(visible=False)
book = xw.Book()
worksheet = book.sheets[0]
worksheet.range('A1').value = df
book.save(file_path)
app.quit()

上述代码创建了一个pandasdataframe对象df,并将其写入到Excel文件中。其中Book()构造函数不带参数,会创建一个新的工作簿。然后使用range()方法选取第一个单元格,使用value属性将整个df对象写入到该单元格中,最后保存该工作簿并关闭Excel软件。