Python 流中出现的次数

Python 流中出现的次数,python,python-3.x,Python,Python 3.x,我对流中出现的次数有问题 我的代码是: f = open('xyz.txt') lines = f.read().splitlines() f.close() for line in lines: parts=line.split() for part in parts: i=0 if parts.count("2017"): i+=1 我能做些什么来显示这个数字在xyz.txt文件中的次数?我知道这将是一个简单的问题,但

我对流中出现的次数有问题

我的代码是:

f = open('xyz.txt')
lines = f.read().splitlines()
f.close()
for line in lines:
    parts=line.split()
    for part in parts:
        i=0
        if parts.count("2017"):
            i+=1
我能做些什么来显示这个数字在xyz.txt文件中的次数?我知道这将是一个简单的问题,但我搜索了很多信息,无法解决它。谢谢你的帮助:)

编辑:在文件
xyz.txt
中,我有以下列:

Name          Date
2017 AA     2017 Jun  4

我可以如何显示日期“2017”的次数?

如果您只想计算日期格式的2017,您可以使用
regex
执行以下操作:

i = 0 
with open('wyz.txt') as f:
     for line in f:
          if "2017" in line:
               i = i + 1
import re
with open('xyz.txt', 'r') as f:
    count = 0
    for line in f:
        count += len(re.findall(r'\s+(2017)\s+[a-zA-Z]{3}\s+\d+', line))
    print count

如果仅在2017年采用日期格式时才计算2017年,则可以使用
regex
按如下方式进行计算:

import re
with open('xyz.txt', 'r') as f:
    count = 0
    for line in f:
        count += len(re.findall(r'\s+(2017)\s+[a-zA-Z]{3}\s+\d+', line))
    print count

但这一切我都加上了“2017”的价值,而不仅仅是日期。我在此格式上的日期为:2017年6月25日。如何使用now lib datetime?我不知道你想做什么。你能用更多的信息更新你的帖子吗?您是否只希望“2017”在日期格式内计算,还是希望它与任何事件一起计算?你想用lib datetime做什么?在你的主要帖子下面添加了一条评论。如果您可以为未来的数据集在列之间添加分隔符,Pandas是处理这些问题的最佳方式。虽然这段代码可能会回答这个问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。但我添加的所有内容都是“2017”,而不仅仅是日期。我在此格式上的日期为:2017年6月25日。如何使用now lib datetime?我不知道你想做什么。你能用更多的信息更新你的帖子吗?您是否只希望“2017”在日期格式内计算,还是希望它与任何事件一起计算?你想用lib datetime做什么?在你的主要帖子下面添加了一条评论。如果可以为将来的数据集在列之间添加分隔符,Pandas是处理这些问题的最佳方式。虽然此代码可能会回答此问题,但提供有关如何和/或为什么解决此问题的其他上下文将提高答案的长期价值。最大的问题是,列之间用空格分隔,列中的值包含空格。这使问题复杂化。将代码中的行更新为
parts=line.split()[1://code>,它应该可以工作。@DanielR.Livingston:假设日期分为三部分,您可以这样做:
name、year、month、day=line.rsplit(None,3)
,最大的问题是,列之间用空格分隔,列中的值包含空格。这使问题复杂化。将代码中的行更新为
parts=line.split()[1://code>,它应该可以工作。@DanielR.Livingston:假设日期分为三个部分,您可以这样做:
name、year、month、day=line.rsplit(None,3)
,它将年之前的所有数据存储为单个值。