我需要在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
变量将始终显示为列表,无论我如何启动脚本?
答案 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
文档here和here,详细了解这些示例中发生的情况。