赞
踩
### enumerate(ad_set,start=1)
### start=1:指定索引起始值
- #-*- coding:utf-8 -*-
- #唯一号码转家庭、非家庭
- #编写者:zqm
- #日期:20170810
- #功能:分别找出家庭,非家庭用户,家庭的编号转jz编号,非家庭重新编号且相同编号相同
- ######################################################################
- # 备注:
- # File_target_zhengq_temp(临时文件)是处理的文件中的政企数据
- #
- # 调用方式:python Jzad_jiat_zhengq.py /zqm/处理的文件.txt
- #
- # 注意:
- # 此程序只适用于ad在File_deal文件的第一列,如果不在第一列,请酌情修改程序
- #######################################################################
-
- from datetime import datetime
- from sys import argv
- import os
-
- #配置文件
- File_source = "/JZ_lzy.txt"
-
- #处理文件所在的目录
- dir = os.getcwd()+"/"
-
- #要处理的文件
- File_deal = argv[1]
-
- if File_deal.find("/") != -1:
- File_deal = argv[1].split("/")[-1]
-
- #临时文件即处理文件里的政企数据
- File_target_zhengq_temp = dir+"政企原始数据.txt"
-
- #政企结果文件
- File_target_zhengq = dir+"zq_"+File_deal
-
- #家庭结果文件
- File_target_jiating = dir+"jt_"+File_deal
-
- print ("程序已开始执行!!!")
- print (datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
-
- dist_source = {}
- list = []
- ad_set = set()
- dist2 = {}
-
- def Read_File_source():
- with open(File_source, "r") as ff:
- for line in ff:
- line = line.strip().split("\t")
- dist_source[line[0]] = line[1]
-
- def Main_zhengqi():
- with open(File_target_zhengq_temp, "w") as f_write:
- with open(File_deal, "r") as ff:
- for line in ff:
- line = line.strip().split("\t")
- if line[0] not in dist_source:
- f_write.write("\t".join(line) + "\n")
- ad_set.add(line[0])
-
- with open(File_target_zhengq_temp,"r") as ff:
- for line in ff:
- list.append(line)
-
- with open(File_target_zhengq, "w") as f_write:
- for num,ad in enumerate(ad_set,start=1):
- dist2[ad] = num
- for line in list:
- line = line.strip().split("\t")
- if line[0] in dist2:
- f_write.write(str(dist2[line[0]])+"\t"+"\t".join(line[1:])+"\n")
- print("政企已完成!!!")
- print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
-
- def Main_jiating():
- with open(File_target_jiating, "w") as f_write:
- with open(File_deal, "r") as ff:
- for line in ff:
- line = line.strip().split("\t")
- if line[0] not in dist_source:
- continue
- line[0] = dist_source[line[0]]
- f_write.write("\t".join(line) + "\n")
- print("家庭已完成!!!")
- print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
-
- if __name__ == "__main__":
- Read_File_source()
- Main_jiating()
- Main_zhengqi()
- print("程序已完成!!!")
- print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

版权声明:原创文章,未经允许不得转载,谢谢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。