首页 > 解决方案 > 我可以从 Python 中的 csv 随机打印行吗?

问题描述

我正在尝试从 csv 随机打印行。

假设 csv 有以下 10 行 -

1,One
2,Two
3,Three
4,Four
5,Five
6,Six
7,Seven
8,Eight
9,Nine
10,Ten

如果我编写如下代码,它将按照与 CSV 中相同的顺序将每一行打印为列表

import csv

with open("MyCSV.csv") as f:
    reader = csv.reader(f)
    for row_num, row in enumerate(reader):
        print(row)

相反,我希望它是随机的。

它现在只是一个印刷品。稍后我会将每一行作为列表传递给函数。

标签: pythoncsvfor-loop

解决方案


import csv
import random
csv_elems = []

with open("MyCSV.csv") as f:
reader = csv.reader(f)
for row_num, row in enumerate(reader):
    csv_elems.append(row)

random.shuffle(csv_elems)
print(csv_elems[0])

如您所见,我只是在打印第一个元素,您可以遍历列表,继续洗牌和打印


推荐阅读