使用Python显示所有组合

时间:2017-01-27 21:46:46

标签: python combinations xlwings

我试图获得任意数量系列的所有可能组合。我如何编写一个循环来获取所有组合并将它们打印到excel文件中?

输入

系列1 A,B,C
系列2 1,2,3
系列3 X,Y,Z

输出

组合1 A,1,x

组合2 A,2,X

组合3 A,3,X

... ECT

3 个答案:

答案 0 :(得分:2)

使用itertools.product查找所有可能的组合:

s1 = ['A', 'B', 'C']
s2 = [1,2,3]
s3 = ['X', 'Y', 'Z']
from itertools import combinations
combos = itertools.product(s1,s2,s3)

至于写入excel文件,请see here

答案 1 :(得分:1)

运行三个for循环,一个在另一个循环中:

for a in s1:
    for b in s2:
        for c in s3:
             # do stuff. a, b, c is the combination

答案 2 :(得分:0)

请使用xlwings查看下面的工作解决方案。

import xlwings as xw

wb = xw.Book(r'C:\somepath')
sht = wb.sheets('Fields')
s1 = sht.range('A1:A10')
s2 = sht.range('B1:B12')

for a in s1:
    for b in s2:
        print (a.value + "," + b.value)