导入CSV和随机输出行6次

时间:2019-09-10 13:52:54

标签: python python-3.x

我在names.csv文件中有一些名字。现在,我要向控制台和一个新的winner.csv文件输出(获奖者的)6个随机名称。

我已经尝试过不同的for循环,但是以某种方式我无法使其工作。但是它只有1个输出。

import csv
import random

winners = []

with open('names.csv', newline='') as f:
    reader = csv.reader(f)

for row in reader:
    chosen_row1 = random.choice((list(reader)))
    winners.append(chosen_row1[0])
    print(chosen_row1[0])

with open('winner.csv', 'w', newline='', encoding='utf-8') as csvfile:
    winnerwriter = csv.writer(csvfile, delimiter=';', quotechar='"')
    winnerwriter.writerow(winners)

我喜欢导出x个名字。

1 个答案:

答案 0 :(得分:0)

尝试一下。它使用random.sample(返回多个项目)而不是random.choice,后者仅返回一个项目。

import csv
import random

winners = []
number_of_winners = 0 # number of winners
with open('tester.csv', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        winners.append(row[0])

winner_selection = random.sample(winners, number_of_winners)

with open('winner.csv', 'w', newline='', encoding='utf-8') as csvfile:
    winnerwriter = csv.writer(csvfile, delimiter=';', quotechar='"')
    winnerwriter.writerow(winner_selection)
相关问题