### 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'))
版权声明:原创文章,未经允许不得转载,谢谢。