【发布时间】:2021-06-14 12:07:47
【问题描述】:
我只想从 txt 文件中具有特定关键字的行中提取数字并将它们相加然后比较它们,然后打印最高总数和最低总数。我该怎么办?
我想打印最高和最低的有效总数
我设法提取了其中包含“有效”关键字的行,但现在我想从这些行中获取数字,然后将每行的数字相加,然后将这些数字与具有相同关键字的其他行进行比较并打印最高和最低的有效数字。
到目前为止我的代码
#get file object reference to the file
file = open("shelfs.txt", "r")
#read content of file to string
data = file.read()
#close file<br>
closefile = file.close()
#get number of occurrences of the substring in the string
totalshelfs = data.count("SHELF")
totalvalid = data.count("VALID")
totalinvalid = data.count("INVALID")
print('Number of total shelfs :', totalshelfs)
print('Number of valid valid books :', totalvalid)
print('Number of invalid books :', totalinvalid)
txt 文件
HEADER|<br>
SHELF|2200019605568|<br>
BOOK|20200120000000|4810.1|20210402|VALID|<br>
SHELF|1591024987400|<br>
BOOK|20200215000000|29310.0|20210401|VALID|<br>
SHELF|1300001188124|<br>
BOOK|20200229000000|11519.0|20210401|VALID|<br>
SHELF|1300001188124|<br>
BOOK|20200329001234|115.0|20210331|INVALID|<br>
SHELF|1300001188124|<br>
BOOK|2020032904567|1144.0|20210401|INVALID|<br>
FOOTER|
【问题讨论】:
-
你能分享一下预期输出的样本吗?
-
我想要得到的是;有效图书最大数量为 20200229000000|11519.0|20210401 有效图书最小数量为 20200120000000|4810.1|20210402
-
嗨,这篇文章附有许多实际问题,类似于“这就是我想做的”。如果您提出以下特定问题,您将获得更多帮助:“*如何解析文件中的一行以获取名称和金额?这是我已经尝试过的......”无论如何,如果你想
read()将整个文件转换为一个变量,然后您可以查看split("\n")将其重新分成几行,并为每一行查看split("|")以获取该行中的值。
标签: python-3.x