2016-04-11 3 views
1

У меня есть следующий код. Это вытаскивает значение 0.025 из файла excel.Как удалить квадратные скобки из моего массива/списка

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) 

Я не знаю, что происходит?

Excel File Image

+2

'array [0]' возможно? – ozgur

+0

https://docs.python.org/2/library/random.html#random.expovariate * lambd 1.0 делится на желаемое среднее значение. Он должен быть отличным от нуля. * –

+0

Я не могу сделать массив [0]. В excel это значение может быть в любой строке этого столбца – Ted

ответ

1

Вы должны использовать array[0] для этой работы. Вы переходите в список вместо числа с плавающей запятой, поэтому вам нужно индексировать список, чтобы захватить это значение.

Поскольку вы сказали, что это файл Excel. Вы можете использовать что-то вроде модуля csv, чтобы прочитать файл excel для итерации по строкам или строке, если у вас есть сингулярная строка и найдите это значение, так как вы не знаете, где значение находится в строке/столбце.

+0

Я не могу сделать массив [0]. В excel это значение может быть в любой строке этого конкретного столбца – Ted

1
answer = random.expovariate(array[0]) 
+0

Я не могу сделать массив [0]. В excel это значение может быть в любой строке этого столбца. – Ted

+2

Итак, почему бы вам не уточнить свой вопрос с примером, чтобы мы могли лучше понять, чего вы пытаетесь достичь? – ozgur

+0

Хорошо, мне нужно будет создать его для этого. Мне понадобится время. Можете ли вы подождать около 15 минут? – Ted