python动态生成写文件变量

来源:互联网 时间:2016-01-14

            有这样一种场景,输入一个文件,文件的每行包含多个列,根据某一列进行区分,将这一列相同的行输出到一个文件中。

        因为不知道输入字段的那一列有多少种取值,因此需要动态创建变量,并写文件。

        因为 字典的value值可以重新赋值,因此可以首先判断文件中那一列的取值有多少个,然后将那一列的取值作为key存入字典中,后续使用字典中的这些变量进行写文件。

        代码如下:

#!/usr/bin/env python#coding:utf-8import sys,os,redef process(corpus): tmp_dict = dict() fin = open(corpus,'r') for line in fin: time1 = line.strip().split('/001')[-2] if time1 not in tmp_dict: tmp_dict[time1] = 1 else: pass fin.close() print len(tmp_dict) for key in tmp_dict: tmp_dict[key] = open(str(key) + ".txt",'a') fin1 = open(corpus,'r') for line in fin1: time2 = line.strip().split('/001')[-2] tmp_dict[time2].write(line) for key in tmp_dict: tmp_dict[key].close()if __name__ == '__main__': process("fin.txt") print 'Done!' 

相关阅读:
Top