2016-01-27 78 views
0

所以,我想編寫一個程序,允許用戶執行各種任務,其中一個我遇到了一些麻煩。
- 選項A允許用戶通過作業的「估計ID」搜索文本文件,並且它將搜索該匹配ID的文件並以以下格式返回相關數據:
估計編號:(估計值數
客戶ID:(客戶ID
估計量:(最終總
估計日期:(估計數據
狀態:(狀態
 
現在,下面是數據存儲在文本文件中的格式:
E5346,23/09/2015,C107,970,N,0
E5347,23/09/2015 ,C108,1050,E,0
E5348,23/09/2015,C109,370,A,200

的數據被示出爲估計數量估計日期客戶ID最終總計(英鎊)狀態(E爲估計,A爲接受的工作或N爲不接受),和金額支付(英鎊)。顯然這些順序是錯誤的,不同的條目都在一行上,用逗號分開,但是格式不能改變。  
下面是我寫的這個代碼:將文本文件中的行拆分成列表中的單獨條目?

Est_no = input ("Please enter the Estimate Number you wish to search: ") 
data = [] 
search = open("paintingJobs.txt","r") 
for line in search: 
    if (Est_no) in line: 
     data.append (line) 
     print ("Estimate Number:",data[0]) 
     print ("Customer ID:", data[2]) 
     print ("Estimate amount:",data[3]) 
     print ("Estimate Date:",data[1]) 
     if data[4] == "E": 
      status = ("Estimate") 
     if data[4] == "A": 
      status = ("Accepted Job") 
     if data[4] == "N": 
      status = ("Not Accepted") 
     print ("Status:",status) 
search.close() 

我有我的想法是將行成一個列表的好主意,並且,作爲條目之間用逗號隔開,他們會列表中的獨立條目,並按要求打印,但它將文件中的行作爲一個條目添加;當我打印列表中的第一個條目時,我想要成爲估算編號,它打印整行,所以我顯然需要將其分成我想要的單獨條目。我的問題是,如何?

+0

我想這應該爲你'數據+ = line.split(「」)工作' – SirParselot

回答

1

使用string.split()以分隔符分隔字符串(在這種情況下,分隔符爲",")。

你的if塊下的代碼將是如下:

# Remove the data variable definition above the for loop 
if (Est_no) in line: 
    data = line.split(',') 
    # Process data like a list like you are already doing 
+0

這工作完全!謝天謝地:D似乎是分隔符,''以每個逗號分割線,這正是我所需要的。乾杯! – Crappelli

相關問題