我是 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/