2016-01-27 51 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

相关问题