CSV 元素的字母顺序配对,同时在 python 中保持第一个元素不变
Alphabetical pairing of CSV elements while keeping first element constant in python
如何将包含不同长度行(实际上最多 12 行)的 CSV 文件作为输入,然后输出一个新的 CSV 文件,其中新行包含
每行的第 0 个元素 + 按字母顺序排列的每对唯一元素(> 第 0 个)?
原始行元素未按字母顺序排列。
输入和输出示例请看图片。
enter image description here
您可以使用 csv
for reading & writing and itertools.combinations
生成对:
import csv
from itertools import combinations
with open('input.csv') as in_f, open('output.csv', 'w') as out_f:
reader = csv.reader(in_f)
writer = csv.writer(out_f)
for row in reader:
for combination in combinations(sorted(row[1:]), 2):
writer.writerow(tuple(row[:1]) + combination)
输出:
0,A,B
1,A,B
1,A,C
1,B,C
2,A,B
2,A,C
2,A,D
2,B,C
2,B,D
2,C,D
如何将包含不同长度行(实际上最多 12 行)的 CSV 文件作为输入,然后输出一个新的 CSV 文件,其中新行包含 每行的第 0 个元素 + 按字母顺序排列的每对唯一元素(> 第 0 个)?
原始行元素未按字母顺序排列。
输入和输出示例请看图片。 enter image description here
您可以使用 csv
for reading & writing and itertools.combinations
生成对:
import csv
from itertools import combinations
with open('input.csv') as in_f, open('output.csv', 'w') as out_f:
reader = csv.reader(in_f)
writer = csv.writer(out_f)
for row in reader:
for combination in combinations(sorted(row[1:]), 2):
writer.writerow(tuple(row[:1]) + combination)
输出:
0,A,B
1,A,B
1,A,C
1,B,C
2,A,B
2,A,C
2,A,D
2,B,C
2,B,D
2,C,D