使用DataNitro连接3列(可能的组合总数)

时间:2014-03-20 05:25:11

标签: python python-2.7 scripting excel-2010 datanitro

我是DataNitro的新手,我也是一名Python初学者,目前正在探索使用DataNitro进行Excel电子表格编程的无限可能性。

我想连接3个不同的列(A,B& C),并希望用它们生成3个可能的组合。

   A                      B               C

172-000072-00   523-000072-00   120-000172-01
172-000072-04   523-000072-01   120-000172-06
172-000072-01   523-000072-02   120-000172-07
172-000072-05   523-000072-03   120-000172-08
172-000072-08   523-000072-04   120-000161-01
172-000072-09   523-000072-05   120-000161-06
                523-000072-06   120-000161-07
                523-000072-07   120-000161-08

一个组合可以是" 172-000072-00 / 523-000072-00 / 120-000172-01"

6 X 8 X 8 = 384种组合。

如何使用DataNitro在Excel中生成此内容?

我试图为这个问题制作自己的实现 -

def conctn():
    CellRange("E1:E384").value = 
[for x in CellRange("A1:A5"):
    for y in CellRange("B1:B8"):
        for z in CellRange("C1:C8"):
            return CellRange(z).value

             return CellRange(y).value + CellRange(z).value

     return CellRange(x).value + CellRange(y).value + CellRange(z).value]

1 个答案:

答案 0 :(得分:1)

这应该有效:

to_write = []

for x in CellRange("A1:A5").value:
    for y in CellRange("B1:B8").value:
        for z in CellRange("C1:C8").value:
            to_write.append(' / '.join([x, y, z]))

Cell("E1").vertical = to_write

以下是这里发生的事情:

第一行是创建一个可用于存储所有排列的列表,最后一行使用'vertical'关键字将此列表写入Excel。此关键字是从给定单元格开始编写列的快捷方式,而不会计算它的长度。

三个'for'循环遍历每个变量组合。

“'/'。join([x,y,z])”获取一系列条纹(“[x,y,z]”)并将它们连接成一个字符串,其中“/”作为分隔符。