Python excel中的随机搜索

Python excel中的随机搜索,python,Python,我开始学习python,并试图为自己做一个小项目。它只是打开一个excel电子表格,然后查看一列,然后随机选择一个单元格进行打印。我做了一些研究,找到了多种方法,但我喜欢这一种,因为它又短又甜。我遇到的问题是,当它打印时,我希望它在一列中随机选择。所以我想知道我是否有办法做到这一点。谢谢大家的帮助,我们将不胜感激 import xlrd wb = xlrd.open_workbook("quotes.xlsx") sh1 = wb.sheet_by_index(0) print sh1.ce

我开始学习python,并试图为自己做一个小项目。它只是打开一个excel电子表格,然后查看一列,然后随机选择一个单元格进行打印。我做了一些研究,找到了多种方法,但我喜欢这一种,因为它又短又甜。我遇到的问题是,当它打印时,我希望它在一列中随机选择。所以我想知道我是否有办法做到这一点。谢谢大家的帮助,我们将不胜感激

import xlrd

wb = xlrd.open_workbook("quotes.xlsx")
sh1 = wb.sheet_by_index(0)

print sh1.cell(0,0).value
使用以下命令:

from random import choice
import xlrd

wb = xlrd.open_workbook("quotes.xlsx")
sh1 = wb.sheet_by_index(0)
column = 2 # or whatever column you want to select from

print choice(sh1.col(column)).value
Sheet.col()
方法返回一个列表,
random.choice
从列表中返回一个随机元素

如果要限制从中随机选择元素的行,可以生成一个随机行号,并使用它来索引列。您可以这样做:

import random

startRow = 3
endRow = 29
row = random.randint(startRow, endRow)
print sh1.cell(column, row).value

另请参见:

这很有帮助!但是我怎么让它停在某一排呢?该列不会更改,但在该列中有不同的单元格填充数据。我需要它来随机选择那个一列中的单元格。很抱歉,我不太明白你们想得到什么。是否要限制正在查看的行数?或者您也要随机化列选择?限制它在一列中查看的行数。希望这是有意义的。试过了,但索引器:数组索引超出范围…我想我做错了…只是一个初学者,所以请容忍我。文件“/usr/local/lib/python2.7/dist packages/xlrd/sheet.py”,第399行,在cell-self中。cell-types[rowx][colx]最终使它工作起来。我应该早些提到一些事情。你真的很有帮助,我非常感激。谢谢你的帮助。