2017-06-23 6 views
0
import xlrd 

file_path = r"C:\Users\Allen\Desktop\数据曲线.xlsx" 
table = xlrd.open_workbook(file_path).sheet_by_index(2) 
data_current = table.col_values(4)[1:] 
data_time = table.col_values(2)[1:] 
time_start = [] 
for i in data_current: 
    index = data_current.index(i) 
    if float(i) < 0.1 and float(data_current[index+1]) > 1: 
     print('come on!') 
    else: 
     print('a') 

マイ入力:if文の浮動小数点値のテストが常にfalseになるのはなぜですか?

data_current = ['0.0', '0.0', '1.44'] 

これは単なる一例であるが、実際のデータは同じ構造に従います。

出力が常にaで、決してcome on!にならないのはなぜですか?常に0になるだろう'0.0'indexためのよう

答えて

1

data_current.index(i)は、最初の一致を返します。

ではなく、実行中の指標を提供するために、enumerate() functionを使用します。

for index, i in enumerate(data_current): 

index + 1が有効なインデックスの範囲の外ことができることを考慮してください。

+0

ありがとうございます! – cwl

関連する問題