Python Csvwriter随机化行

时间:2015-06-25 13:37:21

标签: python csv random rows

是否可以使用csvwriter制作随机化整行的随机数发生器?我的代码与此类似:

 for i in range(45):
    count=count+1
    writer.writerow((count,pattern))

其中pattern是对应count的数字。例如:当count = 1 pattern = 1时; count = 2 pattern = 9; count = 3 pattern = 17,依此类推......我想要一种随机化行的方法,这样正确的计数仍然对应于正确的模式。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

将其加载到存储[i] [0]中的计数的二维数组中,然后将[i] [1]中的模式加载,然后将它们写入csv文件。

import random

count = 0
a = []
for i in range(45):
    count = count + 1
    a.append([count,pattern])

random.shuffle(a)
for i in range(len(a)):
    writer.writerow(a[i][0], a[i][1]) #a[i][0] = count, a[i][1] = pattern

答案 1 :(得分:0)

这不是一个csvwriter特定的问题,但我理解你的问题的方式是你想写随机'计数'到你的csv文件,对应一个设定的数字。我不确定你的模式在这种情况下是n + 8,但是它的样子是什么样的。一种选择是仅使用模式创建字典,从字典中选择键,然后选择值并写入它们。像这样:

import random
dict = {}
n = 1
for i in range(n):
   n += 8
   dict[i+1] = n

for i in range(a):
    count = random.randint(1,n)
    row = (count, dict[count])
    writer.writerow(row)