2024-04-19 14:12:12 发布
网友
目标是让一个python脚本进程逐行排序stdin,收集具有相同键的“数据块”,然后在键更改后将该bloc输出为JSON(或任何其他单个对象)。在这个阶段,我只想通过正确使用groupby和itertools来隔离键数据块。在下面的示例中,有两个块,每个块三行。设置是
stdin
groupby
itertools
cat data.csv | python qwe.py
其中data.csv是
data.csv
并且qwe.py是
qwe.py
谢谢你的提示。在
sys.stdin.readline()只生成第一行1,this,is\n。你应该迭代所有的行。在
sys.stdin.readline()
1,this,is\n
使用csv模块,而不是手动拆分每一行。在
import csv import itertools import operator import sys def main(): reader = csv.reader(sys.stdin) for key, bloc in itertools.groupby(reader, key=operator.itemgetter(0)): print ' -' + key print list(bloc) if __name__ == '__main__': main()
sys.stdin.readline()
只生成第一行1,this,is\n
。你应该迭代所有的行。在使用csv模块,而不是手动拆分每一行。在
相关问题 更多 >
编程相关推荐