在Excel文档中进行数据处理是一项常见任务。虽然Excel本身提供了许多数据处理功能,但有时使用Python脚本可以更高效地完成一些任务。本文将介绍如何在Excel文档中直接使用Python脚本进行数据处理。
安装必需的软件包
首先,需要安装必需的软件包。我们将使用Python的pandas
和xlwings
库。可以使用pip进行安装:
pip install pandas xlwings
在Excel中新建工作表
在Excel中新建一个工作表,命名为Data
。在该工作表中输入一些数据,例如姓名、年龄、性别和身高等。数据可以任意输入,本文使用以下数据作为示例:

在Excel中执行Python脚本
在Excel中打开Visual Basic Editor,然后新建一个模块。在该模块中输入以下代码:
import pandas as pd
import xlwings as xw
@xw.func
def process_data():
wb = xw.Book.caller()
sheet = wb.sheets['Data']
data = sheet.range('A1').options(pd.DataFrame, header=1, index=False, expand='table').value
data['BMI'] = data['身高'] / ((data['身高']/100)**2)
sheet.range('E1').value = 'BMI'
sheet.range('E2').options(index=False, header=False).value = data['BMI'].tolist()
if __name__ == '__main__':
xw.Book().set_mock_caller()
process_data()
这段代码使用pandas
库读取Excel中的数据,并计算每个人的BMI值。然后使用xlwings
库将计算结果写回Excel中。该代码使用了@xw.func
装饰器,因此可以在Excel中作为自定义函数调用。
在Excel中使用Python函数
现在,可以在Excel中使用Python函数了。在Excel中新建一个工作表,命名为Result
。在该工作表中输入以下公式:
=process_data()
然后按下Enter键,即可将计算结果显示在该工作表中。如下图所示:

结论
在Excel文档中直接使用Python脚本进行数据处理可以提高效率。本文使用了pandas
和xlwings
库,计算了每个人的BMI值,并将结果写回Excel文档中。使用@xw.func
装饰器可以将Python函数作为自定义函数在Excel中调用。