【发布时间】:2013-06-28 03:03:45
【问题描述】:
目标是让 python 脚本进程逐行排序stdin,收集具有相同键的“数据块”,然后在键更改时将该块输出为 JSON(或任何其他单个对象)。在这个阶段,我只想能够通过正确使用groupby 和itertools 来隔离密钥和数据块。在下面的示例中,有两个组,每组三行。设置是
cat data.csv | python qwe.py
data.csv 在哪里
1,this,is
1,a,test
1,hope,it
2,works,well
2,and,I
2,move,forward
而qwe.py 是
import itertools
import operator
import sys
import re
def main(argv):
for key, bloc in itertools.groupby( sys.stdin.readline().split(',') ,
key=operator.itemgetter(0)):
print '-----' + key
print list(bloc)
if __name__ == "__main__":
main(sys.argv)
感谢任何提示。
【问题讨论】: