%xl_plot魔术函数具有一些选项来控制其工作方式:
-n或--name。 Excel中图片对象的名称。 如果使用已经存在的图片名称,则该图片将被替换。
-c或--cell。 用作新图片位置的单元格地址。 如果图片已经存在,则无效。
-w或--width。 Excel中图片的宽度(以磅为单位)。 如果更新现有图片,则无效。
-h或--height。 Excel中图片的高度(以磅为单位)。 如果更新现有图片,则无效。
%xl_plot是pyxll.plot函数的快捷方式。
你可以直接从Excel工作簿中调用Python函数,而不是在Excel和Jupyter之间不断移动数据然后运行一些Python代码
PyXLL的主要用例之一是用Python编写自定义Excel工作表函数(或“ UDF”)。 这用于在使用Python函数构建的Excel中构建模型,这些函数当然可以使用其他Python库(例如pandas和scipy)。
你也可以在Jupyter笔记本中编写Excel工作表函数。 这是在不离开Excel即可使用Python IDE的情况下尝试想法的绝佳方法。
自己试试吧。 编写一个简单的函数,然后将“ pyxll.xl_func”修饰符添加到你的函数中:
from pyxll import xl_func
@xl_func
def test_func(a, b, c):
# This function can be called from Excel!
return (a * b) + c
输入代码并在Jupyter中运行单元格后,即可立即从Excel工作簿中调用Python函数。
不只是简单的功能。 你可以将整个数据范围作为pandas DataFrames传递给函数,并返回任何Python类型,包括numpy数组和DataFrames! 你可以通过给@xl_func装饰器一个参数字符串来告诉PyXLL期望什么类型。
例如,尝试以下方法:
from pyxll import xl_func
# The "signature" tells PyXLL how to convert the arguments
# and returned value.
@xl_func("dataframe df: dataframe
def df_describe(df):
# 'df' is a pandas DataFrame built from the range passed
# to this function.
desc = df.describe()
# 'desc' is a new DataFrame, which PyXLL will convert to
# a range of values when returning to Excel.
return desc