使用python解析特定字段并计算出现次数
我有一个用分隔符“|”分隔的文件,如下所示:使用python解析特定字段并计算出现次数,python,file,parsing,python-2.6,Python,File,Parsing,Python 2.6,我有一个用分隔符“|”分隔的文件,如下所示: age=None|sex=M|DEPT=ID1|YEAR=1995| age=10|sex=M|DEPT=None|YEAR=1992| age=None|sex=None|DEPT=ID1|YEAR=1991| age=20|sex=F|DEPT=ID2|YEAR=1990| age=20|sex=M|DEPT=ID3|YEAR=1991| 在python中,如何获得每个字段重复多少次的输出。 我们有内置的功能吗?我查看了collections.
age=None|sex=M|DEPT=ID1|YEAR=1995|
age=10|sex=M|DEPT=None|YEAR=1992|
age=None|sex=None|DEPT=ID1|YEAR=1991|
age=20|sex=F|DEPT=ID2|YEAR=1990|
age=20|sex=M|DEPT=ID3|YEAR=1991|
在python中,如何获得每个字段重复多少次的输出。
我们有内置的功能吗?我查看了collections.update,但我的环境
使用python-2.6。不幸的是,我无法使用该选项,也无法复制
也可以手动将新模块文件导入该环境
谢谢你的帮助和指点
示例输出:
1 times Sex=F
3 times Sex=M
1 times age=10
2 times age=None
2 times age=20
2 times YEAR=1991
...
2 times DEPT=ID1
等
或:
或:
使用get-in字典可能会有帮助:
with open('file.txt') as f:
dict = dict()
for line in f:
line = line.strip().split('|')
for item in line:
dict[item] = dict.get(item,0) + 1
for k in dict:
print dict[k], 'times', k
使用get-in字典可能会有帮助:
with open('file.txt') as f:
dict = dict()
for line in f:
line = line.strip().split('|')
for item in line:
dict[item] = dict.get(item,0) + 1
for k in dict:
print dict[k], 'times', k
我很困惑。你到底在这里找什么?帮助解析文件或快速计算/排序数据?帮助用这种格式对文件进行排序。我很困惑。你到底在这里找什么?帮助解析文件或快速计算/排序数据?帮助使用此格式对文件进行排序。感谢您的回复。我在检查上述代码时收到此错误消息。AttributeError:“collections.defaultdict”对象没有属性“get”。系统具有python-2.6.1。第二种方法是ImportError:无法导入名称计数器。我想这是因为python-version。谢谢你的回复。我在检查上述代码时收到此错误消息。AttributeError:“collections.defaultdict”对象没有属性“get”。系统具有python-2.6.1。第二种方法是ImportError:无法导入名称计数器。我认为这是因为python版本。
with open('file.txt') as f:
dict = dict()
for line in f:
line = line.strip().split('|')
for item in line:
dict[item] = dict.get(item,0) + 1
for k in dict:
print dict[k], 'times', k