Python 将所有值的组合写入csv

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

我想创建一个包含以下格式的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(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