你如何在python中的文本文件中搜索某个东西?

时间:2017-12-08 12:38:51

标签: python text-files

我有一个文本文件:

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

1 个答案:

答案 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文档中查找该示例中的每个语句,并查看其中的各个项目。如果您打算再学习语言,那么这将为您提供一点学习语言的机会。

请记住,故障是可能的:例如,如果文本文件名错误,文件打开失败怎么办?您需要查看tryexcept Python语言元素。

每个人都需要从某个地方开始,这就是为什么我没有给你一个讽刺的“展示你的工作”的答案。所以这是你的开始。出去学习。 :)