У меня есть CSV-файл (out.txt) со следующим форматом
red,green,blue
banana,apple,orange
Я пытаюсь сгенерировать все две комбинации, чтобы вывод выводился в output.csv, как показано ниже
[red,green][red,blue][green,blue]
[banana,apple][banana,orange][apple,orange]
Мой код, который работает для одной строки:
import csv
with open('out.txt', newline='') as csvfile:
csvdata = list(csv.reader(csvfile))
print(csvdata)
r = 2;
n = len(csvdata);
print(n)
def printCombination(csvdata, n, r):
data = [0]*r;
print (data)
combinationUtil(csvdata, data, 0,
n - 1, 0, r);
def combinationUtil(csvdata, data, start,
end, index, r):
if (index == r):
for j in range(r):
print(data[j], end = " ");
print();
return;
i = start;
while(i <= end and end - i + 1 >= r - index):
data[index] = csvdata[i];
combinationUtil(csvdata, data, i + 1,
end, index + 1, r);
i += 1;
printCombination(csvdata, n, r);
. Csvdata печатается как
[['red', 'green', 'blue'], ['banana', 'apple', 'orange']]
Однако, если я вручную определю массив, например,
[1,2,3]
возвращает правильный ответ. Как мне сделать это со списками?
Также, как бы я записал вывод в CSV?