我有一个文本文件:
E5341,21/09/2015,C102,440,E,0
E5342,21/09/2015,C103,290,A,290
E5343,21/09/2015,C104,730,N,0
E5344,22/09/2015,C105,180,A,180
E5345,22/09/2015,C106,815,A,400
E5346,23/09/2015,C107,970,N,0
E5347,23/09/2015,C108,1050,E,0
E5348,23/09/2015,C109,370,A,200
E5349,25/09/2015,C110,480,A,250
E5350,25/09/2015,C111,330,A,330
E5351,25/09/2015,C112,1750,E,0
E5352,28/09/2015,C113,1500,N,0
E5353,28/09/2015,C114,272,A,200
E5354,29/09/2015,C115,560,E,0
E5355,29/09/2015,C116,530,A,450
E5356,29/09/2015,C117,860,E,0
E5357,29/09/2015,C118,650,E,0
E5358,29/09/2015,C119,380,A,380
E5359,29/09/2015,C120,980,N,0
E5360,30/09/2015,C121,1375,E,0
E5361,01/10/2015,C122,374,A,374
E代表估计数
估计数字后面的日期是估计日期
C代表客户编号
客户编号后面的数字是£
中的最终总数最终总数后的字母告诉您作业是否被接受(A)或未被接受(N)或作业只是估计(E)
状态后的数字^是已用£
支付的总金额我想知道如果我在python中输入一个估计数字,我可以打印出日期或计算未付款项,并找出工作的状态。
我试图研究这个,但我不明白,我真的很感激任何帮助。
如果我输入估计数5353,预期结果是为了显示该例子的日期为28/09/2015
答案 0 :(得分:1)
Python 2中的基本思想(注意我没有对此进行测试,但它应该接近或按原样运行):
search = '5356' # supply this as your search
search = 'E'+search
fh = open('textfile.txt')
for line in fh:
elements = line.split(',')
if len(elements) == 6:
if elements[0] == search:
print 'For Estimate #'+search
print 'date:'+elements[1]
print 'cust:'+elements[2]
print 'totl:'+elements[3]
print 'stat:'+elements[4]
print 'paid:'+elements[5]
fh.close()
现在......在Python 2文档中查找该示例中的每个语句,并查看其中的各个项目。如果您打算再学习语言,那么这将为您提供一点学习语言的机会。
请记住,故障是可能的:例如,如果文本文件名错误,文件打开失败怎么办?您需要查看try
和except
Python语言元素。
每个人都需要从某个地方开始,这就是为什么我没有给你一个讽刺的“展示你的工作”的答案。所以这是你的开始。出去学习。 :)