import pandas as pd import os import copy import re path = "/Users/xiaopengzhang/Downloads/qingdan/JD_QingDanXM.csv" a = pd.read_csv(path) print(a[a['qdbh']=='080904019']) def transform(bh): result = re.findall(r'\d{9}', bh) bh = result[0] info = [] if bh[0:2] == '01': info.append("建筑与装饰工程") if bh[2:4] == '01': info.append("土石方工程") elif bh[2:4] == '02': info.append("地基处理与边坡支护工程") elif bh[2:4] == '03': info.append("桩基工程") elif bh[2:4] == '04': info.append("砌筑工程") elif bh[2:4] == '05': info.append("混凝土及钢筋混凝土工程") elif bh[2:4] == '06': info.append("金属结构工程") elif bh[2:4] == '07': info.append("木结构工程") elif bh[2:4] == '08': info.append("门窗工程") elif bh[2:4] == '09': info.append("屋面及防水工程") elif bh[2:4] == '10': info.append("保温、隔热、防腐工程") elif bh[2:4] == '11': info.append("楼地面装饰工程") elif bh[2:4] == '12': info.append("墙、柱面装饰与隔断、幕墙工程") elif bh[2:4] == '13': info.append("天棚工程") elif bh[2:4] == '14': info.append("油漆、涂料、裱糊工程") elif bh[2:4] == '15': info.append("其他装饰工程") elif bh[2:4] == '16': info.append("拆除工程") elif bh[2:4] == '17': info.append("建筑工程措施项目") elif bh[0:2] == '03': info.append("安装工程") elif bh[0:2] == '04': info.append("市政工程") elif bh[0:2] == '05': info.append("园林绿化工程") else: info.append("") parent = [] for i in range(len(a)): print(i) print(a.iloc[i]) row = a.iloc[i] if row['fbcch'].item() == 4: series = [] j = i - 1 while j > -1 and a.iloc[j]['fbcch'].item() != 3: j = j - 1 if j == -1: raise Exception("") series.append(a.iloc[j]['xmmc']) k = j - 1 while k > -1 and a.iloc[k]['fbcch'].item() != 2: k = k - 1 if k == -1: raise Exception("") series.append(a.iloc[k]['xmmc']) l = k - 1 while l > -1 and a.iloc[l]['fbcch'].item() != 1: l = l - 1 if l == -1: raise Exception("") series.append(a.iloc[l]['xmmc']) series.reverse() parent.append(" ".join(series)) else: parent.append("") new_ = pd.Series(parent, name="parent") df = pd.concat([a, new_.to_frame()], axis=1) df.to_csv("JD_QingDanXM_parent.csv")