处理按第一列聚合第二列的代码示例
2013-04-07 13:07
155 查看
#coding=gbk import os import sys import argparse import commands import logging status, username = commands.getstatusoutput('whoami') logging.basicConfig(level = logging.DEBUG, format=username + ' %(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', datefmt = '%Y-%m-%d %H:%M:%S', filename = '.log' + __file__ , filemode = 'a') def perror_and_exit(message, status = -1): sys.stderr.write(message + '\n') logging.info(message + 'sys exit') sys.exit(status) count = 0 def handle_keywords(userid, keywords, fw): global count count += 1 pass if __name__ == "__main__": directory = "/home/junfeng" if len(sys.argv) != 2: perror_and_exit("Usage:python %s keyword or idea" % (__file__ + "")) if sys.argv[1] == "keyword": filename = os.path.join(directory, "userid_showword.active.tradeid5401.20130329.txt") print filename fw = file("userid_showwords_brand.txt", "w") last_userid = None keywords = [] for line in file(filename): line = line.strip().split() userid = line[0] keyword = line[1] if userid == last_userid: keywords.append(keyword) else: if len(keywords) > 0: handle_keywords(last_userid, keywords, fw) pass last_userid = userid keywords = [keyword] handle_keywords(last_userid, keywords, fw) print keywords global count print count pass elif sys.argv[1] == "idea": filename = os.path.join(directory, "userid_title_desc1_desc2.active.tradeid5401.20130329.txt") for line in file(filename): line = line.strip().split() pass
相关文章推荐
- 事件处理(Handling Events)和委托(Delegate)代码示例(一)【UE4】【C++】
- BlazeDS处理的简单代码示例
- 分享用于学习C++图像处理的代码示例
- C#实现数据库事务处理示例代码
- 单击和双击事件的冲突处理示例代码
- MySql存储过程异常处理示例代码分享
- ajax后台处理返回json值示例代码
- C#实现数据库事务处理示例代码
- Android Picasso使用高斯模糊处理的示例代码
- 【分享用于学习C++图像处理的代码示例】框架
- python读文件逐行处理的示例代码分享
- 【语音处理】wav转pcm mp3转pcm Java示例代码
- JavaScript 通过 attachEvent 和 detachEvent 方法处理带参数的函数(示例代码)
- Ruby中的异常处理代码编写示例
- 事件处理(Handling Events)和委托(Delegate)代码示例(三)【UE4】【C++】
- Python进度条实时显示处理进度的示例代码
- ajax异步处理POST表单中的数据示例代码
- js 处理数组重复元素示例代码
- 树形递归处理示例代码
- selenium python浏览器多窗口处理代码示例