2014-03-30 61 views
-1

使用python解決TSP問題。我已經設法對TSP進行排序,但是我無法讓Python讀取輸入的特定列。在python中使用CSV文件來打印列

這是我的csv文件的佈局,其中1,2等是一個CID(客戶ID) 1,名稱,街道ADDR2,郵政編碼,X,Y 2,名稱,Street_addr2,P代碼,X, y

我需要我的程序來讀取輸入的CID,但打印並附加x,y以用於數學計算。

我是新來的蟒蛇,所以任何提示將不勝感激。

感謝

print "Route Calculator" 
cur = (0, 0) 
xy = [] 
route = [0] 
n = input("Enter number of destinations to visit:") 
a = range(1, n + 1) 
for i in range(n): 
    x, y = input("Enter co-ordinates as x,y:") 
    xy.append((x, y)) 

對不起,缺乏早期的崗位代碼和含糊其辭。我基本上希望x,y輸入來自CSV,如果可能的話。而不是X,Y輸入 - 客戶需要輸入CID和程序讀取座標中csv文件

再次感謝

+0

我做對了嗎?您將客戶ID作爲輸入並需要輸出來自給定CSV的X和Y座標? – Marat

+0

沒錯,我目前使用的代碼讓我輸入用逗號分隔的座標。教師希望我們輸入CID,以便程序找到座標。感謝打印「路線計算器」 cur =(0,0) xy = [] route = [0] n = input(「輸入目的地數量(n): x,y =輸入(「輸入座標爲x,y:」) xy.append(((n)) x = 1範圍(1,n + 1) x,y)) – user3472009

+0

請將示例代碼格式正確地放入您的問題中(不是註釋);期望的輸入和輸出的例子將是非常有用的。 –

回答

0

示例代碼:

import csv 

def Cid2xy(csv_file, cid): 
    reader = csv.reader(csv_file) 
    while True: 
     try: 
      line = reader.next() 
      if line[0] == cid: 
       return line[4:6] 
     except StopIteration: 
      return None 

CSV文件內容:

1,Name1,Street addr1,Postcode,100,100 
2,Name2,Street_addr2,Pcode,200,200 

測試輸出(注意所有值都是字符串):

>> cid.Cid2xy(csv_file, '1') 
['100', '100'] 
+0

謝謝,這個按預期工作。非常感謝 :) – user3472009