【发布时间】:2016-08-22 02:46:58
【问题描述】:
我在从 Python 上创建的表中添加某些值时遇到了一些问题。
我的文本文件如下所示:
E5345,22/09/2015,C106,815,A,400
E5348,23/09/2015,C109,370,A,200
E5349,25/09/2015,C110,480,A,250
E5353,28/09/2015,C114,272,A,200
E5363,01/10/2015,C124,930,A,500
E5364,02/10/2015,C125,915,A,800
E5365,02/10/2015,C126,1486,A,1486
E5366,03/10/2015,C127,576,E,0
E5367,03/10/2015,C128,427,A,350
E5373,10/10/2015,C134,1023,A,550
我希望使用这些值在 python 上创建一个表,并创建另一列,标题为未偿金额。我已经设法做到了,但我想找到未偿还的总和。这是通过将第四列 (finaltotal) 减去第六列来找到的。 (amountpaid)。
到目前为止我的代码是:
headers = ["| Estimate Number", "| Date", "| Customer Number", "| Final Total", "| Status", "| Amount Paid", "| Outstanding Amount"]
print(" ".join(headers))
print ("\n-------------------------------------------------------------------------------------------------------------------------")
data = open("paintingJobs.txt", "r")
info=data.readlines()
data.close()
for li in info:
line = li.strip().split(",")
status=line[4]
finaltotal=int(line[3])
amountpaid=int(line[5])
subtotal = int(line[3]) - int(line[5])
outstanding = (finaltotal) - (amountpaid)
line.append(str(subtotal))
if (amountpaid) < (finaltotal) and status == "A":
for i, word in enumerate(line):
print(word.ljust(len(headers[i - (i > 20)])), end=" " * ((i - (i > 20)) != len(headers) - 1))
print()
print ("-------------------------------------------------------------------------------------------------------------------------")
print ("\nThe total revenue is")
我的理想输出是:
| Estimate Number | Date | Customer Number | Final Total | Status | Amount Paid | Outstanding Amount
-------------------------------------------------------------------------------------------------------------------------
E5345 22/09/2015 C106 815 A 400 415
-------------------------------------------------------------------------------------------------------------------------
E5348 23/09/2015 C109 370 A 200 170
-------------------------------------------------------------------------------------------------------------------------
E5349 25/09/2015 C110 480 A 250 230
-------------------------------------------------------------------------------------------------------------------------
E5353 28/09/2015 C114 272 A 200 72
-------------------------------------------------------------------------------------------------------------------------
E5355 29/09/2015 C116 530 A 450 80
-------------------------------------------------------------------------------------------------------------------------
E5363 01/10/2015 C124 930 A 500 430
-------------------------------------------------------------------------------------------------------------------------
E5364 02/10/2015 C125 915 A 800 115
-------------------------------------------------------------------------------------------------------------------------
E5367 03/10/2015 C128 427 A 350 77
-------------------------------------------------------------------------------------------------------------------------
E5373 10/10/2015 C134 1023 A 550 473
-------------------------------------------------------------------------------------------------------------------------
The total outstanding is
£2062
outstanding 的总数是通过查找 outstanding 的总和得出的。未结金额由finaltotal 减去amountpaid 得出。任何帮助将不胜感激。
【问题讨论】:
-
您的哪一部分有问题?
-
我想找到最后一列的总和(未结金额)并打印出来。它应该等于 2062
标签: python python-2.7 text input output