Python 将所有值的组合写入csv
我想创建一个包含以下格式的csv文件。对于第一列,ABC重复3次,AAA1也重复3次。然后AAA1增加1变成AAA2,再增加1变成AAA3。我想重复这样的增量N次,然后切换到BBB1,再重复N次。下面是我的代码。我知道他们错了。请帮帮我Python 将所有值的组合写入csv,python,csv,Python,Csv,我想创建一个包含以下格式的csv文件。对于第一列,ABC重复3次,AAA1也重复3次。然后AAA1增加1变成AAA2,再增加1变成AAA3。我想重复这样的增量N次,然后切换到BBB1,再重复N次。下面是我的代码。我知道他们错了。请帮帮我 with open(file.csv, 'r') as input: reader = csv.reader(input,lineterminator='\n', delimiter = ',') all = [] row = next
with open(file.csv, 'r') as input:
reader = csv.reader(input,lineterminator='\n', delimiter = ',')
all = []
row = next(reader)
all.append(row)
alist= ["AAA","BBB"]
count=0
for row in reader:
count+=1
row.insert(2, (random.choice(alist)+ (str(count))))
all.append(row)
with open(file.csv, 'w') as output:
writer = csv.writer(output, lineterminator='\n',delimiter = ',')
这就是我想要创造的
您最初有一个R标签,不确定您是否对R解决方案开放,但下面是:
NN <- 2 #"repeat N times..."
DF <- data.frame("Block ID" = LETTERS[1:3],
"Stage ID" = paste0(rep(c("AAA", "BBB"), each = 3 * NN),
rep(1:NN, each = 3)))
write.csv(DF, file = "file.csv")
NN我相信这就是你想要做的:
number_of_times_to_repeat_stage_prefix = 4
stage_prefixes = ["AAA","BBB"]
block_ids = list('ABC')
text = []
for stage_prefix in stage_prefixes:
block_counter = 0
for i in range(number_of_times_to_repeat_stage_prefix):
for block in block_ids:
text.append([block, stage_prefix + str(block_counter+1)])
block_counter+=1
with open("E:/file.csv", 'w') as output:
writer = csv.writer(output, lineterminator='\n',delimiter = ',')
writer.writerows(text)
重复设置为4时,我得到:
A AAA1
B AAA1
C AAA1
A AAA2
B AAA2
C AAA2
A AAA3
B AAA3
C AAA3
A AAA4
B AAA4
C AAA4
A BBB1
B BBB1
C BBB1
A BBB2
B BBB2
C BBB2
A BBB3
B BBB3
C BBB3
A BBB4
B BBB4
C BBB4
第一栏第二栏第三栏1 A AAA1 2 B AAA1 3 C AAA1 4 A AAA2 5 B AAA2 6 C AAA2 7 A BBB1 8 B BBB1 9 C BBB1您的问题自相矛盾,首先您说您想增加到AAA3,但示例显示为AAA2,然后移到BBBB1。是哪一个?我使用的是可移植python,所以我不能使用panda。实际上,我想增加到N倍。我使用的是可移植python,所以我不能使用panda。谢谢你。这正是我想要的!
A AAA1
B AAA1
C AAA1
A AAA2
B AAA2
C AAA2
A AAA3
B AAA3
C AAA3
A AAA4
B AAA4
C AAA4
A BBB1
B BBB1
C BBB1
A BBB2
B BBB2
C BBB2
A BBB3
B BBB3
C BBB3
A BBB4
B BBB4
C BBB4