我有以下代码。这是从excel文件中提取值0.025。
import random,xlrd
fileWorkspace = "/Users/Bob/Desktop/"
wb1 = xlrd.open_workbook(fileWorkspace + "Excel.xlsx")
sh1 = wb1.sheet_by_index(0)
dist,numbers = [],[]
for a in range(0,sh1.nrows):
dist.append(str(sh1.cell(a,0).value))
numbers.append(str(sh1.cell(a,1).value))
print(dist)
print(numbers)
if "expovariate" in dist:
values = next((item.split(',') for item in numbers if item), None)
ev_1 = [float(x) for x in values]
ev = random.expovariate(ev_1)
print(ev)
我不知道发生了什么事?
答案 0 :(得分:1)
您需要使用array[0]
才能生效。您正在传入列表而不是浮点数,因此您需要索引列表以获取此值。
因为你说这是来自excel文件。你可以使用类似csv
模块的东西来阅读excel文件迭代行或行,如果你有一个单行并查找该值,因为你不知道该值在行中的位置/列。
答案 1 :(得分:1)
answer = random.expovariate(array[0])