Xlwings安全的Excel范围作为Python列表

时间:2017-06-01 16:49:22

标签: python excel vba xlwings

我需要在Excel中将Excel范围导入为列表。我提出了以下基本代码。

import xlwings as xw

r2 = xw.sheets('Tabelle1').range('A1').value # last row of range

r2 = int(r2)

r2 = str(r2)

r1 = 'B3:B' 

r3 = r1 + r2
InputData = [xw.sheets('Tabelle1').range(r3).value]

当我在Spyder环境中启动代码时,此代码完全正常。我将在变量资源管理器中看到变量InputData为List。但是,当我使用Xlwings工具从Excel / VBA启动脚本时,变量InputData将不会显示在变量资源管理器中。

我有什么想法可以修改它,这样InputData变量将始终显示为列表,无论我如何启动脚本?

1 个答案:

答案 0 :(得分:1)

任何Python安装的核心都是解释器。如果您正在使用Windows计算机,则解释程序是名为python.exe的可执行文件。它是实际运行Python代码的软件。

您可以通过多种方式向解释器提供代码。一种方法是通过Spyder应用程序。 Spyder应用程序实际上是一个建立在解释器之上的人性化界面。 Spyder应用程序将您的Python命令转发给解释器,让解释器运行它,然后收集解释器生成的任何输出(例如,您可以在Spyder的变量资源管理器中查看的计算变量值)。

但Spyder应用程序只是使用Python解释器的许多可能方法之一。您也可以(根据我的理解,这是您正在寻找的)使用Excel应用程序将Python代码提供给解释器并处理所有输出。在这种情况下,Excel是Python解释器顶部的接口,而不是Spyder(即根本不需要Spyder)。

xlwings网站上的example files很好地展示了使用Excel(使用VBA脚本)对Python解释器进行所有控制和通信的方法。它甚至包括一个数据库操作的例子(使用SQLite数据库)我建议下载它们并使用它们。然后转到xlwings文档herehere,详细了解这些示例中发生的情况。