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

标签 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]

最佳答案

这应该有效:

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]") 并将它们连接成一个字符串,并以“/”作为分隔符。

关于python - 使用 DataNitro 连接 3 列(可能组合的总数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22524147/

相关文章:

powershell - 2个整数参数调用函数时出错

java - 自动从 .java 文件、脚本中删除代码行

python - 图中的 K 阶邻居 - Python networkx

python - 将 GAE BlobInfo 转换为文件对象

Python 2.7 [Errno 113] 没有到主机的路由

multithreading - 如何通过ctrl + c停止多线程进程

python - pandas read_csv 忽略每个值前面的列索引

python - 使用 Kaleido 导出 Plotly 图表不起作用?

Python 绘图日志在 x/y Axis 上需要 10000 而不是 10^4

linux - 如何从文本文件中删除换行符?