Python 如何选择以某个字母开头的随机CSV行?

Python 如何选择以某个字母开头的随机CSV行?,python,csv,Python,Csv,我有一个CSV文件,有两列,第一列有一个字母代码(如“M”或“B”),第二列有一个URL。值得注意的是,有许多行具有相同的代码。我一直坚持的一点是选择一个随机行,该行以用户输入的字母开头 例如,如果用户输入了字母“C”,那么我希望python选择一个以“C”开头的随机行,并返回第二列。这是可以完成的还是非常复杂的事情?鉴于CSV相对较小,最好将CSV加载到dict中,并使用random.choice(…)选择要返回给用户的值 随机导入 codes={}#键:代码,值:URL列表 #将CSV加载到

我有一个CSV文件,有两列,第一列有一个字母代码(如“M”或“B”),第二列有一个URL。值得注意的是,有许多行具有相同的代码。我一直坚持的一点是选择一个随机行,该行以用户输入的字母开头


例如,如果用户输入了字母“C”,那么我希望python选择一个以“C”开头的随机行,并返回第二列。这是可以完成的还是非常复杂的事情?

鉴于CSV相对较小,最好将CSV加载到
dict
中,并使用
random.choice(…)
选择要返回给用户的值

随机导入
codes={}#键:代码,值:URL列表
#将CSV加载到`代码中`
以open(“something.csv”、“r”)作为f:
对于f中的行:
代码,url=line.split(“,”)
如果代码不在代码中:
代码[代码]=[]
代码[code]。追加(url)
#处理用户输入
输入\代码=输入(“代码:”)
打印(随机选择(代码[输入代码])
如果只有第一列等于C,您可以使用此代码选择日志文件并打印第二列。我使用的csv文件包含以下数据

输入:trial.csv

B   url1
M   url2
C   url3
C   url4
C   url5
并将url3/url4/url5作为输出,因为它是随机的

输出:

url3

CSV有多大?如果可以完全加载到内存中,那么一个
dict
将是一个很好的路径。哦,这是一个很小的路径,大概10-20行扫描您提供了一个示例CSV文件..并没有解决所需的随机性。哪里给出的CSV相对较小,为什么将其全部读入
dict
是最好的方法?@martineau OP在评论中说“哦,这是一个很小的文件,可能大约10-20行”
url3