我想在python脚本中动态创建一个数据容器(基于计算),然后使用win32com客户端和range()函数将其写入excel中的列。我可以成功地对行执行此操作,但不能对列执行此操作。我基本上想做的硬编码代码如下:import win32com.client as win32
from win32com.client import Dispatch
Excel=Dispatch('Excel.Application')
wb = Excel.ActiveWorkbook
ws = wb.ActiveSheet
data_container = [5],[6],[7],[8],[9]
ws.Range(ws.Cells(11,9),ws.Cells(15,9)).Value = (data_container)
对我来说,最棘手的是创建一个可以动态创建的data_容器。我知道在stackoverflow上有很多关于元组、数据字典和列表的东西,但是我无法解决它,并且很困惑(如果我再看到“tuple is immutable”的警告!!!!!!!)。每当我创建如下所示的内容时,它只输出所有单元格中的第一项(即下面用5填充所有单元格)。在
^{pr2}$
我可以循环访问并写入每个单元格,但是由于时间限制,我不想这样做。我知道你可能还有其他python插件可以使用,但我希望它能在许多计算机上使用,这些插件不一定能阻止人们使用我的脚本………我喜欢使用win32com安装程序的简单性,除此之外,大多数项目都能正常工作。
理想情况下,我希望在1个dictionary/list/matrix/array中存储许多列,并且能够写入引用数据容器某个部分的一个范围。例如:ws.Range(ws.Cells(11,9),ws.Cells(15,9)).Value = (data_container[0])
其中数据容器[0]包含[5]、[6]、[7]、[8]、[9]。。。。。。在
我想做的最后一件事,就是将许多列(不一定按顺序)读入数据容器,进行修改,然后写回许多列(同样也不一定按顺序)。在
我很感激目前所有的积木可能都在堆栈溢出上,我只是没能在这几天里把它们放在一起我一直在努力解决这个问题。感谢任何帮助。在