Python Csvwriter 随机化行

Python Csvwriter Randomize Rows

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

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

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

这实际上不是一个特定于 csvwriter 的问题,但我理解你的问题的方式是你想随机写入 'counts' 到你的 csv 文件,这对应于一个设定的数字。我不确定你的模式在这种情况下是否是 n + 8,但这就是它的样子。一种选择是只创建一个带有模式的字典,字典中的 select 键,然后 select 值并写入它们。像这样:

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)

将其加载到一个二维数组中,将计数存储在a[i][0]中,将模式存储在a[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