2017-08-14 147 views
-3

我無法從下面附加的代碼接收某些輸出。出於某種原因,我擁有的代碼僅輸出我想要的5條線中的3條。我認爲原因是一切都必須在同一條線上。無論如何我可以解決這個問題。我還發布了Excel表格,讓你知道我在說什麼。 Excel Sheet另外我的輸出結果如下圖所示爲2017年。閱讀Excel文件Python

 Select Year: 2017 
    ('126614', '126541', '125', '11') 
    ('126615', '126523', '86', '32') 
    ('126616', '126524', '59', '56') 
  • import csv 
    with open('Data_2016.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    year=raw_input("Select Year: ") 
    
        for row in reader: 
         Yearlink=row['Yearlink'] 
          year=row['Year'] 
           if year==Yearlink: 
            print(row['From'], row['To'],row['Maxx'],row['Minn']) 
    
+1

發生,因爲檢查u必須添加 '如果一年== Yearlink:' 結果只有3行。 (2017年僅有3行) –

+1

在您的數據中似乎只有三個'2017'條目? – Miket25

+0

是的,這是故意完成的。 2017年需要包含更多數據。與2017年一樣,有三個數據點,但我需要輸出5個數據點。有沒有一種方法可以做到這一點與2017年爲年yearlinkup標記爲2017年 – Mark

回答

0

我不知道你注意到沒有,但你覆蓋你輸入year行數8 你的代碼實際上是返回的所有行上Yearlink等於year

這是一個更正的版本。

import csv 
with open('Data_2016.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    year=raw_input("Select Year: ") 

    for row in reader: 
     Yearlink=row['Yearlink'] 
     if year==Yearlink: 
      print(row['From'], row['To'],row['Maxx'],row['Minn']) 
+0

有沒有一種方法可以使結果不僅在每一行中都返回一年,而且在2017年可能會顯示爲年份鏈接 – Mark

+0

2018年它不會輸出任何內容 – Mark

+0

我不確定是否理解您的問題。 您輸入您正在查找的年份,並返回'Yearlink'等於您的輸入的行。 如果你輸入2018,它應該返回Yearlink等於2018的所有行。 –