从CSV文件中获取随机元素

3

我有一个包含许多单词的 Csv 文件。我想编写一个 Python3 代码,从这个文件中随机获取一个单词。由于从csv.reader(file)返回的对象没有长度参数并且无法进行索引,因此我不知道如何随机获取一个单词。

spamReader = csv.reader(open('A3_words.csv', 'r'))
# something like:
# rnd = random.randrange(reader.length)
# word = reader[rnd]

我希望你能提供帮助。

编辑:

每个单词都像这样分开放置:

when  
what  
make  
time 
1个回答

4
这段代码将从你提供的样本中产生一个随机字符串。
import csv
import random

spamReader = csv.reader(open('A3_words.csv', 'r'))

data = sum([i for i in spamReader],[]) #To flatten the list
print(random.choice(data))

哦,对不起。我会修改问题。谢谢你的回复。 - Alireza Farahani
由于我的CSV文件很小,读取整个文件没有太多开销,但是有没有一种方法可以在不读取整个文件的情况下获取一个元素呢? - Alireza Farahani
很抱歉批准和点赞有所延迟。你的答案很有效。谢谢。 - Alireza Farahani
@alireza 谢谢,顺便说一下,你无法阻止它读取整个 CSV 文件... 但是你的代码可以进行优化,但这超出了范围... - K DawG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接