在excel中随机搜索

时间:2014-01-08 02:36:35

标签: python

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

import xlrd

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

print sh1.cell(0,0).value

1 个答案:

答案 0 :(得分:2)

使用以下内容:

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

另请参阅:How to randomly select an item from a list?