2016-11-23 45 views
0

我需要在給定函數中的條件的情況下查找csv文件中的值。當我運行我的程序時,我得到了所有的值,但沒有與我的條目相關的值。任何幫助將不勝感激。在csv文件中查找值

日期看起來是這樣的:

rose,7.95 
lily,3.95 
begonia,5.95 

我創建的功能是:

def problem3_8(csv_pricefile, flower): 
    import csv  

    archivo = open(csv_pricefile) 

    for row in csv.reader(archivo): 
     if flower in row[0]: 
      print(row[1]) 

    archivo.close() 

當我使用的下一行運行程序:

problem3_7("flowers.csv","rose") 

我得到文件中的所有值,如下所示:

7.95 
3.95 
5.95 

但答案應該只是與第二項相關的價值。

7.95 

感謝

+0

是一個csv文件,有兩行。第一行有花的名字,第二行是花的名字。我需要在花朵名稱的函數中查找花朵的第二個參數的價格。 「def problem3_8(csv_pricefile,flower)」 – nanny

+0

在重新訪問您的問題時,您的代碼應該可以正常工作。我想你可能會從其他地方打印內容。儘管更好的方法是'flower == row [0]'來檢查完全匹配。但根據您的示例數據,它應該只打印一個值 –

回答

1

我跑你的代碼中給出,並具有7.95正確的輸出。

是否有可能你調用了錯誤的函數?在你的問題中,你提到功能問題3_7而不是功能問題3_8

+0

嗨布萊斯,是的,我的意思是problem3_7在這兩種情況下。這就是爲什麼它浪費工作:(我很混淆嘗試不同的事情,我甚至沒有意識到我的錯誤!感謝您的幫助:) PS我是編程新手,哈哈! – nanny