脚本
This commit is contained in:
@@ -0,0 +1,969 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 含多年"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import holidays\n",
|
||||
"from datetime import date\n",
|
||||
"\n",
|
||||
"# 创建一个中国节假日对象\n",
|
||||
"cn_holidays = holidays.China()\n",
|
||||
"# 获取当前日期\n",
|
||||
"input_date = date.today()\n",
|
||||
"switch = \"\"\n",
|
||||
"# 判断日期是否为节假日\n",
|
||||
"if input_date in cn_holidays:\n",
|
||||
" switch = \"节假日\"\n",
|
||||
" print(f\"{input_date} 是节假日\")\n",
|
||||
"else:\n",
|
||||
" switch = \"非节假日\"\n",
|
||||
" print(f\"{input_date} 不是节假日\")\n",
|
||||
"date_list = []\n",
|
||||
"for data in cn_holidays:\n",
|
||||
" date_list.append(str(data))\n",
|
||||
"\n",
|
||||
"from datetime import date, timedelta\n",
|
||||
"\n",
|
||||
"def get_saturdays(year):\n",
|
||||
" start_date = date(year, 1, 1)\n",
|
||||
" end_date = date(year, 12, 31)\n",
|
||||
" saturdays = []\n",
|
||||
"\n",
|
||||
" while start_date <= end_date:\n",
|
||||
" if start_date.weekday() == 6: # 周日的weekday值为6\n",
|
||||
" saturdays.append(start_date)\n",
|
||||
" start_date += timedelta(days=1)\n",
|
||||
"\n",
|
||||
" return saturdays\n",
|
||||
"\n",
|
||||
"current_year = date.today().year\n",
|
||||
"saturdays = get_saturdays(current_year)\n",
|
||||
"print(saturdays)\n",
|
||||
"for data in saturdays:\n",
|
||||
" date_list.append(str(data))\n",
|
||||
"date_list = list(set(date_list))\n",
|
||||
"date_list = sorted(date_list, reverse=False)\n",
|
||||
"\n",
|
||||
"# -*- coding: utf-8 -*-\n",
|
||||
"import psycopg2\n",
|
||||
"import pandas as pd\n",
|
||||
"# 获得连接\n",
|
||||
"conn = psycopg2.connect(database=\"f6_bi\", user=\"BASIC$ro_caowei\", password=\"!ro_caowei123\", host=\"hgprecn-cn-nif1vnv0y002-cn-shanghai.hologres.aliyuncs.com\", port=\"80\")\n",
|
||||
"# 获得游标对象,一个游标对象可以对数据库进行执行操作\n",
|
||||
"cursor = conn.cursor()\n",
|
||||
"\n",
|
||||
"import datetime\n",
|
||||
"now_time = datetime.datetime.now()\n",
|
||||
"yes_time = now_time + datetime.timedelta(days=-1)\n",
|
||||
"yes_time_nyr = int(yes_time.strftime('%Y%m%d'))# 获取前一天日期\n",
|
||||
"# sql语句 建表\n",
|
||||
"sql =f\"\"\"SELECT * FROM \"public\".\"holo_ads_report_saas_profile_ngv_detail_d\" WHERE \"date_id\" = '{yes_time_nyr}' ;\"\"\"\n",
|
||||
"# 执行语句\n",
|
||||
"cursor.execute(sql)\n",
|
||||
"# 获取结果集的每一行\n",
|
||||
"rows = cursor.fetchall()\n",
|
||||
"# 获取所有字段名\n",
|
||||
"all_fields = cursor.description\n",
|
||||
"#执行结果转化为dataframe\n",
|
||||
"col = []\n",
|
||||
"for i in all_fields:\n",
|
||||
" col.append(i[0])\n",
|
||||
"data_NGV = pd.DataFrame(list(rows),columns=col)\n",
|
||||
"# data_NGV.to_excel(r'C:\\Users\\admin\\Desktop\\NGV明细.xlsx')\n",
|
||||
"# 关闭数据库连接\n",
|
||||
"cursor.close()\n",
|
||||
"conn.close()\n",
|
||||
"# 读取短信表--------------------------12/11\n",
|
||||
"\n",
|
||||
"# 将A列和B列的日期字符串转换为日期格式\n",
|
||||
"data_NGV['A'] = pd.to_datetime(data_NGV['expiry_time'])\n",
|
||||
"data_NGV['B'] = pd.to_datetime(data_NGV['renew_date'])\n",
|
||||
"data_NGV['条件'] = (data_NGV['org_type'] == \"一般\") & (data_NGV['org_status'] == '留存') & (data_NGV['group_grade'] != '区域KA(MVP)') & (data_NGV['group_grade'] != '全国KA(FMVP)')& (data_NGV['area_manager'] != '殷昊')& (data_NGV['area_manager'] != '孙玉蕾')\n",
|
||||
"data_NGV = data_NGV.loc[data_NGV[\"条件\"] == True]\n",
|
||||
"data_details = data_NGV.copy()\n",
|
||||
"# 重置索引\n",
|
||||
"data_details = data_details.reset_index(drop=True)\n",
|
||||
"# 判断A列的日期是否大于B列的日期730天,如果是的话,将B列的值设置为1\n",
|
||||
"data_details['条件'] = data_details.apply(lambda row: (row['A'] - row['B']).days if row['A'] - row['B'] >= pd.Timedelta(days=730) else row['条件'], axis=1)\n",
|
||||
"data_details = data_details.loc[data_details[\"条件\"] != True]\n",
|
||||
"# 定义一个函数,用于将数字除以365并取整数\n",
|
||||
"def divide_by_365(x):\n",
|
||||
" if isinstance(x, (int, float)):\n",
|
||||
" return int(x / 365)\n",
|
||||
" else:\n",
|
||||
" return x\n",
|
||||
"# 使用applymap()函数将divide_by_365函数应用到DataFrame的每个元素\n",
|
||||
"data_details['年'] = data_details['条件'].apply(divide_by_365)\n",
|
||||
"# 重置索引\n",
|
||||
"data_details = data_details.reset_index(drop=True)\n",
|
||||
"# 创建一个新的空的DataFrame\n",
|
||||
"new_df = pd.DataFrame()\n",
|
||||
"# 遍历原始DataFrame的每一行\n",
|
||||
"from datetime import datetime, timedelta\n",
|
||||
"for index, row in data_details.iterrows():\n",
|
||||
" # 根据A列的值来决定复制的次数\n",
|
||||
" for i_new in range(1,row['年']):\n",
|
||||
" # 修改日期\n",
|
||||
" row_new = row.copy()\n",
|
||||
" c = row_new[\"renew_date\"]\n",
|
||||
" date_obj = datetime.strptime(c, \"%Y-%m-%d\")\n",
|
||||
" new_year = date_obj.year + i_new\n",
|
||||
" new_date_obj = date_obj.replace(year=new_year)\n",
|
||||
" new_c = new_date_obj.strftime(\"%Y-%m-%d\")\n",
|
||||
" row_new[\"renew_date\"] = new_c\n",
|
||||
" # 将当前行添加到新的DataFrame中\n",
|
||||
" new_df = new_df._append(row_new, ignore_index=True)\n",
|
||||
"# 合并两个DataFrame\n",
|
||||
"merged_df = pd.concat([data_NGV, new_df], axis=0, ignore_index=True)\n",
|
||||
"data_details = merged_df.copy() # 替换名称\n",
|
||||
"\n",
|
||||
"data_details_not_null = data_details[data_details['renew_date'].notnull()]\n",
|
||||
"data_details_not_null = data_details_not_null[data_details_not_null['renew_date'].str.contains('2023')]\n",
|
||||
"data_details_not_null = data_details_not_null.sort_values(by='renew_date', ascending=True).drop_duplicates(subset='id_own_group')\n",
|
||||
"# 重置索引\n",
|
||||
"data_details_not_null = data_details_not_null.reset_index(drop=True)\n",
|
||||
"data_details = data_details_not_null.copy() # 替换名称 v2 \n",
|
||||
"data_details['saas_create_time'] = data_details['saas_create_time'].str[:10] # 截取前10位\n",
|
||||
"data_details = data_details[data_details['saas_create_time'] != data_details['renew_date']] # 过滤掉等于renew_date的行\n",
|
||||
"data_details = data_details.reset_index(drop=True)\n",
|
||||
"from datetime import datetime\n",
|
||||
"from dateutil.relativedelta import relativedelta\n",
|
||||
"\n",
|
||||
"# for data in date_list:\n",
|
||||
"# # 将字符串转换为日期\n",
|
||||
"# date = datetime.strptime(data, '%Y-%m-%d')\n",
|
||||
"# # 将日期加1\n",
|
||||
"# date = date + relativedelta(days=1)\n",
|
||||
"# # 将日期转换回字符串格式\n",
|
||||
"# date_str = date.strftime('%Y-%m-%d')\n",
|
||||
"# # 遍历 renew_date 列,如果值等于 A,则将其改为 B\n",
|
||||
"# data_details['renew_date'] = data_details['renew_date'].replace(data, date_str)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"import pandas as pd\n",
|
||||
"import pandas as pd\n",
|
||||
"import numpy as np\n",
|
||||
"import requests\n",
|
||||
"import json\n",
|
||||
"import time\n",
|
||||
"import re\n",
|
||||
"from datetime import datetime\n",
|
||||
"from dateutil.relativedelta import relativedelta\n",
|
||||
"from pathlib import Path\n",
|
||||
"from urllib.parse import quote\n",
|
||||
"from io import BytesIO\n",
|
||||
"\n",
|
||||
"ROOT = Path('.').absolute() # 当前工作目录\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 生成 token,参数不需要修改\n",
|
||||
"def generateToken() -> str:\n",
|
||||
" \"\"\" 生成 token \"\"\"\n",
|
||||
"\n",
|
||||
" token_api = 'https://api.dingtalk.com/v1.0/oauth2/accessToken'\n",
|
||||
"\n",
|
||||
" # 该信息在钉钉开放应用中\n",
|
||||
" data = {\n",
|
||||
" \"appKey\": \"ding5kqocon5s9oph5uq\",\n",
|
||||
" \"appSecret\": 'HL1jgsIIfLAC0eTH0A1m4mwxUDqbgsiPeCCGGE3ocM6qJBTIW7Ivt9drxF_Z4Kb_'\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" res = requests.post(token_api, json=data)\n",
|
||||
" token = res.json()['accessToken']\n",
|
||||
"\n",
|
||||
" return token\n",
|
||||
"\n",
|
||||
"def read_instances(token, formUuid, page, n,formatted_today,formatted_today_two):\n",
|
||||
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
|
||||
"\n",
|
||||
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
|
||||
"\n",
|
||||
" headers = {\n",
|
||||
" \"Content-Type\": \"application/json\",\n",
|
||||
" \"x-acs-dingtalk-access-token\": token\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" formData = {\n",
|
||||
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
|
||||
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
|
||||
" \"userId\" : \"yida_pub_account\",\n",
|
||||
" \"language\" : \"zh_CN\",\n",
|
||||
" \"formUuid\" : formUuid,\n",
|
||||
" \"createFromTimeGMT\" : formatted_today,\n",
|
||||
" \"createToTimeGMT\" : formatted_today_two,\n",
|
||||
" \"currentPage\" : page,\n",
|
||||
" \"pageSize\" : n\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" res = requests.post(api, headers=headers, json=formData)\n",
|
||||
" return res.json()\n",
|
||||
"\n",
|
||||
"def initiate_process(TOKEN,formUuid,processCode,formData):\n",
|
||||
" \"\"\" 发起宜搭审批流程 \"\"\"\n",
|
||||
" api = f'https://api.dingtalk.com//v1.0/yida/processes/instances/start'\n",
|
||||
"\n",
|
||||
" headers = {\n",
|
||||
" \"Content-Type\": \"application/json\",\n",
|
||||
" \"x-acs-dingtalk-access-token\": TOKEN\n",
|
||||
" }\n",
|
||||
" payload = {\n",
|
||||
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
|
||||
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
|
||||
" \"userId\" : \"yida_pub_account\",\n",
|
||||
" \"language\" : \"zh_CN\",\n",
|
||||
" \"formUuid\" : formUuid,\n",
|
||||
" \"formDataJson\" : json.dumps(formData, cls=NpEncoder),\n",
|
||||
" \"processCode\" : processCode,\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" res = requests.post(api, headers=headers, json=payload)\n",
|
||||
" return res.json()\n",
|
||||
"\n",
|
||||
"def read_instances_new(token, formUuid, page, n):\n",
|
||||
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
|
||||
"\n",
|
||||
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
|
||||
"\n",
|
||||
" headers = {\n",
|
||||
" \"Content-Type\": \"application/json\",\n",
|
||||
" \"x-acs-dingtalk-access-token\": token\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" formData = {\n",
|
||||
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
|
||||
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
|
||||
" \"userId\" : \"yida_pub_account\",\n",
|
||||
" \"language\" : \"zh_CN\",\n",
|
||||
" \"formUuid\" : formUuid,\n",
|
||||
" \"currentPage\" : page,\n",
|
||||
" \"pageSize\" : n\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" res = requests.post(api, headers=headers, json=formData)\n",
|
||||
" return res.json()\n",
|
||||
"def read_instances_ngv(token, formUuid, page, n,searchField):\n",
|
||||
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
|
||||
"\n",
|
||||
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
|
||||
"\n",
|
||||
" headers = {\n",
|
||||
" \"Content-Type\": \"application/json\",\n",
|
||||
" \"x-acs-dingtalk-access-token\": token\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" formData = {\n",
|
||||
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
|
||||
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
|
||||
" \"userId\" : \"yida_pub_account\",\n",
|
||||
" \"language\" : \"zh_CN\",\n",
|
||||
" \"formUuid\" : formUuid,\n",
|
||||
" \"searchFieldJson\": json.dumps(searchField),\n",
|
||||
" \"currentPage\" : page,\n",
|
||||
" \"pageSize\" : n\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" res = requests.post(api, headers=headers, json=formData)\n",
|
||||
" return res.json()\n",
|
||||
"class NpEncoder(json.JSONEncoder):\n",
|
||||
" def default(self, obj):\n",
|
||||
" if isinstance(obj, np.integer):\n",
|
||||
" return int(obj)\n",
|
||||
" elif isinstance(obj, np.floating):\n",
|
||||
" return float(obj)\n",
|
||||
" elif isinstance(obj, np.ndarray):\n",
|
||||
" return obj.tolist()\n",
|
||||
" else:\n",
|
||||
" return super(NpEncoder, self).default(obj)\n",
|
||||
" \n",
|
||||
"TOKEN = generateToken()\n",
|
||||
"'''读取员工对应关系:宜搭员工-ID对应表 '''\n",
|
||||
"FORMID = \"FORM-EA866E715PF9YA7ECCAGSABX91Q72PVA3WRFL6\" # 宜搭员工-ID对应表 FORM-EA866E715PF9YA7ECCAGSABX91Q72PVA3WRFL6\n",
|
||||
"# 读取流程表单数据\n",
|
||||
"form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=1, n=100)\n",
|
||||
"PAGES = form_data.get('totalCount')//100 + 1\n",
|
||||
"ALL_DATA_staff = {}\n",
|
||||
"\"\"\" 获取全量数据 \"\"\"\n",
|
||||
"for i in range(1, PAGES+1):\n",
|
||||
" # form_data = read_processes_instances(token=TOKEN, formUuid=FORMID, createFromTimeGMT=CREATE_FROM, createToTimeGMT=CREATE_TO, page=i, n=100, searchField={'textField_l7if5ff9': '否'})\n",
|
||||
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=i, n=100)\n",
|
||||
" for data in form_data.get('data'):\n",
|
||||
" ALL_DATA_staff[data['formData']['textField_lfrw3u58']]=data['formData']['textField_lfrw3u59']\n",
|
||||
"'''读取省市小六技术专家区域客服区域客成 '''\n",
|
||||
"FORMID = \"FORM-TP866D918DFCA4FW79YZU5X43FO32QZJQDZJL7\" #省市小六技术专家区域客服区域客成\n",
|
||||
"# 读取流程表单数据\n",
|
||||
"form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=1, n=100)\n",
|
||||
"PAGES = form_data.get('totalCount')//100 + 1\n",
|
||||
"textField_gif29wy = {}\n",
|
||||
"textField_3athky8 = {}\n",
|
||||
"textField_3hgho1m = {}\n",
|
||||
"textField_nc7gskc = {}\n",
|
||||
"textField_qk1e5di = {}\n",
|
||||
"textField_m3hchxc = {} # 市\n",
|
||||
"\"\"\" 获取全量数据 \"\"\"\n",
|
||||
"for i in range(1, PAGES+1):\n",
|
||||
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=i, n=100)\n",
|
||||
" for data in form_data.get('data'):\n",
|
||||
" textField_gif29wy[data['formData']['textField_o7jtgf1']]=data['formData']['textField_gif29wy'] #区域客成id\n",
|
||||
" textField_3athky8[data['formData']['textField_o7jtgf1']]=data['formData']['textField_3athky8'] #区域客服id\n",
|
||||
" textField_3hgho1m[data['formData']['textField_o7jtgf1']]=data['formData']['textField_3hgho1m'] #小六id\n",
|
||||
" textField_nc7gskc[data['formData']['textField_o7jtgf1']]=data['formData']['textField_nc7gskc'] #技术专家id\n",
|
||||
" textField_qk1e5di[data['formData']['textField_o7jtgf1']]=data['formData']['textField_lntniove'] #区域经理id\n",
|
||||
" textField_m3hchxc[data['formData']['textField_m3hchxc']]=data['formData']['textField_3hgho1m'] #小六id-市\n",
|
||||
"print(f'读取到省市小六技术专家区域客服区域客成表单中 {len(textField_gif29wy)} 条数据!')\n",
|
||||
"'''读取市-技术专家id '''\n",
|
||||
"FORMID = \"FORM-A8666NA1FJDEVPBB6VVTOCMP47UP2J2L6SPML2\" #市-技术专家id\n",
|
||||
"# 读取流程表单数据\n",
|
||||
"form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=1, n=100)\n",
|
||||
"PAGES = form_data.get('totalCount')//100 + 1\n",
|
||||
"textField_lmps6q39 = {}\n",
|
||||
"\"\"\" 获取全量数据 \"\"\"\n",
|
||||
"for i in range(1, PAGES+1):\n",
|
||||
" # form_data = read_processes_instances(token=TOKEN, formUuid=FORMID, createFromTimeGMT=CREATE_FROM, createToTimeGMT=CREATE_TO, page=i, n=100, searchField={'textField_l7if5ff9': '否'})\n",
|
||||
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=i, n=100)\n",
|
||||
" for data in form_data.get('data'):\n",
|
||||
" textField_lmps6q39[data['formData']['textField_lmps6q38']]=data['formData']['textField_lmps6q39'] #技术专家id\n",
|
||||
"print(f'读取到市-技术专家id表单中 {len(textField_lmps6q39)} 条数据!')\n",
|
||||
"import datetime\n",
|
||||
"date_90 = 83\n",
|
||||
"date_120 = 113\n",
|
||||
"date_180 = 173\n",
|
||||
"date_one = 1\n",
|
||||
"now_time = datetime.datetime.now()\n",
|
||||
"# now_time = now_time + datetime.timedelta(days=+1)\n",
|
||||
"if now_time.strftime(\"%Y-%m-%d\") in date_list:\n",
|
||||
" date_one = 0\n",
|
||||
" print(\"开始次数:\",date_one)\n",
|
||||
"print(\"当前日期:\",now_time)\n",
|
||||
"\n",
|
||||
"for i in range(1,10):\n",
|
||||
" new_date = now_time + datetime.timedelta(days=-i)\n",
|
||||
" new_date = new_date.strftime(\"%Y-%m-%d\")\n",
|
||||
" print(\"遍历日期:\",new_date)\n",
|
||||
" if new_date in date_list:\n",
|
||||
" date_one = date_one + 1 \n",
|
||||
" print(\"节假日期:\",new_date)\n",
|
||||
" else:\n",
|
||||
" break\n",
|
||||
"print(\"遍历次数:\",date_one)\n",
|
||||
"\n",
|
||||
"now_time = datetime.datetime.now()\n",
|
||||
"for i in range(0,date_one):\n",
|
||||
" now_time = now_time + datetime.timedelta(days=-i)\n",
|
||||
" today = now_time + datetime.timedelta(days=-date_90)\n",
|
||||
" formatted_today_90 = today.strftime(\"%Y-%m-%d\")\n",
|
||||
" today = now_time + datetime.timedelta(days=-date_120)\n",
|
||||
" formatted_today_120 = today.strftime(\"%Y-%m-%d\")\n",
|
||||
" today = now_time + datetime.timedelta(days=-date_180)\n",
|
||||
" formatted_today_180 = today.strftime(\"%Y-%m-%d\")\n",
|
||||
" print(formatted_today_90,formatted_today_120,formatted_today_180)\n",
|
||||
" timestamp_ms = int(time.time() * 1000) # 当然日期时间戳 毫秒级\n",
|
||||
" # 获取数据\n",
|
||||
" data_details_90 = data_details.copy()\n",
|
||||
" data_details_90['条件'] = (data_details_90['renew_date'] == formatted_today_90) & (data_details_90['saas_edition_fmt'] != '基础版')\n",
|
||||
" data_details_90 = data_details_90.loc[data_details_90[\"条件\"] == True]\n",
|
||||
" data_details_120 = data_details.copy()\n",
|
||||
" data_details_120['条件'] = (data_details_120['renew_date'] == formatted_today_120) & (data_details_120['saas_edition_fmt'] == '基础版')\n",
|
||||
" data_details_120 = data_details_120.loc[data_details_120[\"条件\"] == True]\n",
|
||||
" data_details_180 = data_details.copy()\n",
|
||||
" data_details_180['条件'] = (data_details_180['renew_date'] == formatted_today_180) & (data_details_180['saas_edition_fmt'] != '基础版')\n",
|
||||
" data_details_180 = data_details_180.loc[data_details_180[\"条件\"] == True]\n",
|
||||
"\n",
|
||||
" text_jcb_120 = '''\n",
|
||||
" 续约后120天:\n",
|
||||
" 1.客户系统使用问题集中解答;\n",
|
||||
" 2.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
|
||||
" 3.红包裂变功能介绍;\n",
|
||||
" 4.说明转介绍政策,索要转介绍;\n",
|
||||
" '''\n",
|
||||
" text_bzb_90 = '''\n",
|
||||
" 续约后90天:\n",
|
||||
" 1.客户系统使用问题集中解答;\n",
|
||||
" 2.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
|
||||
" 3.会员卡功能使用情况分析,推荐公众号引导升级;\n",
|
||||
" 4.说明转介绍政策,索要转介绍;\n",
|
||||
" '''\n",
|
||||
" text_bzb_180 = '''\n",
|
||||
" 续约后180天:\n",
|
||||
" 1.客户系统使用问题集中解答;\n",
|
||||
" 2.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
|
||||
" 3.会员卡功能使用情况分析,推荐公众号引导升级;\n",
|
||||
" 4.红包裂变推荐;\n",
|
||||
" '''\n",
|
||||
" text_qita_90 = '''\n",
|
||||
" 续约后90天:\n",
|
||||
" 1.客户系统使用问题集中解答;\n",
|
||||
" 2.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
|
||||
" 3.公众号小程序功能使用情况分析,提升系统使用深度;\n",
|
||||
" 4.说明转介绍政策,索要转介绍;\n",
|
||||
" '''\n",
|
||||
" text_qita_180 = '''\n",
|
||||
" 续约后180天:\n",
|
||||
" 1.客户系统使用问题集中解答;\n",
|
||||
" 2.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
|
||||
" 3.公众号小程序功能使用情况分析,提升系统使用深度;\n",
|
||||
" 4.红包裂变推荐;\n",
|
||||
" '''\n",
|
||||
" data_details_90['拜访目的说明'] = \"\"\n",
|
||||
" # text_bzb_90\n",
|
||||
" data_details_90['拜访目的说明'] = data_details_90.apply(lambda row: text_bzb_90 if row['saas_edition_fmt'] == '标准版' else row['拜访目的说明'], axis=1)\n",
|
||||
" # text_qita_90\n",
|
||||
" data_details_90['拜访目的说明'] = data_details_90.apply(lambda row: text_qita_90 if row['saas_edition_fmt'] != '标准版' else row['拜访目的说明'], axis=1)\n",
|
||||
"\n",
|
||||
" # text_jcb_120\n",
|
||||
" data_details_120['拜访目的说明'] = text_jcb_120\n",
|
||||
"\n",
|
||||
" data_details_180['拜访目的说明'] = \"\"\n",
|
||||
" # text_bzb_180\n",
|
||||
" data_details_180['拜访目的说明'] = data_details_180.apply(lambda row: text_bzb_180 if row['saas_edition_fmt'] == '标准版' else row['拜访目的说明'], axis=1)\n",
|
||||
" # text_qita_180\n",
|
||||
" data_details_180['拜访目的说明'] = data_details_180.apply(lambda row: text_qita_180 if row['saas_edition_fmt'] != '标准版' else row['拜访目的说明'], axis=1)\n",
|
||||
" # 合并三个DataFrame\n",
|
||||
" data_result = pd.concat([data_details_90, data_details_120, data_details_180], ignore_index=True)\n",
|
||||
" print(len(data_result))\n",
|
||||
" # 获取待回访人员信息+去重\n",
|
||||
" name_list = []\n",
|
||||
" for data in data_result['service_impl_principal']:\n",
|
||||
" name_list.append(data)\n",
|
||||
" unique_arr = []\n",
|
||||
" [unique_arr.append(x) for x in name_list if x not in unique_arr]\n",
|
||||
" print(unique_arr)\n",
|
||||
" # 每日工作计划\n",
|
||||
" formUuid = \"FORM-4V966N81OMEEH85QDP8XW4AH1AIZ2GKRLZTML21\"\n",
|
||||
" processCode = \"TPROC--4V966N81OMEEH85QDP8XW4AH1AIZ21ORLZTML31\"\n",
|
||||
" # 遍历数据并进行创建\n",
|
||||
" for name in unique_arr:\n",
|
||||
" tableField_lnsi0v71 = {}\n",
|
||||
" tableField_lnsi0v71['dateField_lmelabb1'] = \"\"\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk429'] = \"\"\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk423'] = \"\"\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk424'] = \"\"\n",
|
||||
" for i in range(0,len(data_result)):\n",
|
||||
" if data_result.loc[i,\"service_impl_principal\"] == name:\n",
|
||||
" print(textField_m3hchxc[data_result[\"city_name\"][i]]) # data_result\n",
|
||||
" data_one = {} # 子表单\n",
|
||||
" data_two = {} # 主表单\n",
|
||||
" # 子表单\n",
|
||||
" data_one['textField_lnsi0v72'] = data_result.loc[i,\"org_name\"] # 门店名称\n",
|
||||
" data_one['textField_lnsi0v6s'] = data_result.loc[i,\"saas_edition_fmt\"] # 销售版本\n",
|
||||
" try:\n",
|
||||
" data_one['employeeField_lnsi0v6u'] = textField_nc7gskc[name] # 技术专家\n",
|
||||
" data_one['employeeField_lnsi0v6v'] = textField_qk1e5di[name] # 区域经理\n",
|
||||
" if textField_3hgho1m[name] ==\"\":\n",
|
||||
" data_one['employeeField_lnsi0v6w'] = textField_m3hchxc[data_result[\"city_name\"][i]] # 运营顾问 \n",
|
||||
" else:\n",
|
||||
" data_one['employeeField_lnsi0v6w'] = textField_3hgho1m[name] # 运营顾问\n",
|
||||
" except:\n",
|
||||
" data_one['employeeField_lnsi0v6u'] = textField_lmps6q39[data_result[\"city_name\"][i]] # 技术专家\n",
|
||||
" data_one['employeeField_lnsi0v6v'] = ALL_DATA_staff[data_result.loc[i,\"area_manager\"]] # 区域经理\n",
|
||||
" data_one['employeeField_lnsi0v6w'] = textField_m3hchxc[data_result[\"city_name\"][i]] # 运营顾问\n",
|
||||
" data_one['dateField_lnsi0v6x'] = str(timestamp_ms) # 计划日期\n",
|
||||
" data_one['textField_lnsi0v6y'] = data_result.loc[i,\"org_name\"] # 门店名称-拷贝\n",
|
||||
" data_one['textField_lnsi0v6z'] = data_result.loc[i,\"org_code\"] # 门店编码\n",
|
||||
" data_one['selectField_lnsi0v6q'] = \"客情维护\" # 拜访目的\n",
|
||||
" data_one['textareaField_lnsi0v6r'] = data_result.loc[i,\"拜访目的说明\"] # 拜访目的说明\n",
|
||||
" data_one['textField_lnsi0v70'] = data_result.loc[i,\"id_own_group\"] # 公司id\n",
|
||||
" # 加入数据\n",
|
||||
" \n",
|
||||
" tableField_lnsi0v71['tableField_lnsi0v71'] = [data_one]\n",
|
||||
" # 主表单\n",
|
||||
" tableField_lnsi0v71['dateField_lmelabb1'] = str(timestamp_ms)\n",
|
||||
" try:\n",
|
||||
" if textField_3hgho1m[name] ==\"\":\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk429'] = textField_m3hchxc[data_result[\"city_name\"][i]] # 小六 textField_m3hchxc[data_NGV[\"city_name\"][i]]\n",
|
||||
" else:\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk429'] = textField_3hgho1m[name] # 小六\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk423'] = textField_qk1e5di[name] # 区域经理\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk424'] = textField_nc7gskc[name] # 技术专家\n",
|
||||
" except:\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk429'] = textField_m3hchxc[data_result[\"city_name\"][i]] # 小六\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk423'] = ALL_DATA_staff[data_result.loc[i,\"area_manager\"]] # 区域经理\n",
|
||||
" tableField_lnsi0v71['employeeField_lmeqk424'] = textField_lmps6q39[data_result[\"city_name\"][i]] # 技术专家\n",
|
||||
" tableField_lnsi0v71['textField_lmu0523h'] = \"自动派发回访计划\" # 状态备用\n",
|
||||
" # 富文本 超链接 NGV\n",
|
||||
" try:\n",
|
||||
" form_data_ngv = read_instances_ngv(token=TOKEN, formUuid=\"FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91\", page=1, n=100, searchField={'textField_zc1iowp': data_result.loc[i,\"org_code\"]})\n",
|
||||
" tableField_lnsi0v71['editorField_lodoplg0'] = [\"root\",{},[\"p\",{},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"data-type\":\"leaf\"},\"\"]],[\"a\",{\"href\":\"https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=\"+form_data_ngv['data'][0]['formInstanceId']+\"&isAdmin=true\"},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"点击查看门店NGV\"]]],[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"\"]]]] # 富文本 超链接 NGV\n",
|
||||
" except:\n",
|
||||
" pass\n",
|
||||
" # res=initiate_process(TOKEN,formUuid,processCode,tableField_lnsi0v71)\n",
|
||||
" # print(res,tableField_lnsi0v71)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"<ipython-input-5-95d56a7271a7>:27: UserWarning: Pandas requires version '1.4.3' or newer of 'xlsxwriter' (version '1.3.8' currently installed).\n",
|
||||
" holo_ads_report_message_group_scene_send_detail_d_all.to_excel(r'C:\\Users\\admin\\Desktop\\holo_ads_report_message_group_scene_send_detail_d_all.xlsx')\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# -*- coding: utf-8 -*-\n",
|
||||
"import psycopg2\n",
|
||||
"import pandas as pd\n",
|
||||
"# 获得连接\n",
|
||||
"conn = psycopg2.connect(database=\"f6_bi\", user=\"BASIC$ro_caowei\", password=\"!ro_caowei123\", host=\"hgprecn-cn-nif1vnv0y002-cn-shanghai.hologres.aliyuncs.com\", port=\"80\")\n",
|
||||
"# 获得游标对象,一个游标对象可以对数据库进行执行操作\n",
|
||||
"cursor = conn.cursor()\n",
|
||||
"\n",
|
||||
"import datetime\n",
|
||||
"now_time = datetime.datetime.now()\n",
|
||||
"yes_time = now_time + datetime.timedelta(days=-1)\n",
|
||||
"yes_time_nyr = int(yes_time.strftime('%Y%m%d'))# 获取前一天日期\n",
|
||||
"\n",
|
||||
"# sql语句 建表\n",
|
||||
"sql =f\"\"\"SELECT * FROM \"public\".\"holo_ads_report_message_group_scene_send_detail_d_all\" WHERE \"pt\" = '{yes_time_nyr}' ;\"\"\"\n",
|
||||
"# 执行语句\n",
|
||||
"cursor.execute(sql)\n",
|
||||
"# 获取结果集的每一行\n",
|
||||
"rows = cursor.fetchall()\n",
|
||||
"# 获取所有字段名\n",
|
||||
"all_fields = cursor.description\n",
|
||||
"#执行结果转化为dataframe\n",
|
||||
"col = []\n",
|
||||
"for i in all_fields:\n",
|
||||
" col.append(i[0])\n",
|
||||
"holo_ads_report_message_group_scene_send_detail_d_all = pd.DataFrame(list(rows),columns=col)\n",
|
||||
"holo_ads_report_message_group_scene_send_detail_d_all.to_excel(r'C:\\Users\\admin\\Desktop\\holo_ads_report_message_group_scene_send_detail_d_all.xlsx')\n",
|
||||
"# 关闭数据库连接\n",
|
||||
"cursor.close()\n",
|
||||
"conn.close()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>date_fmt</th>\n",
|
||||
" <th>id_own_group</th>\n",
|
||||
" <th>group_name</th>\n",
|
||||
" <th>id_own_org</th>\n",
|
||||
" <th>org_name</th>\n",
|
||||
" <th>region_name</th>\n",
|
||||
" <th>branch_name</th>\n",
|
||||
" <th>province_name</th>\n",
|
||||
" <th>city_name</th>\n",
|
||||
" <th>org_size</th>\n",
|
||||
" <th>...</th>\n",
|
||||
" <th>buy_sms_num</th>\n",
|
||||
" <th>send_sms_num</th>\n",
|
||||
" <th>msg_scene_cate_id</th>\n",
|
||||
" <th>msg_scene_cate_name</th>\n",
|
||||
" <th>msg_scene_id</th>\n",
|
||||
" <th>msg_scene_name</th>\n",
|
||||
" <th>msg_scene_code</th>\n",
|
||||
" <th>final_send_quantity</th>\n",
|
||||
" <th>etl_time</th>\n",
|
||||
" <th>pt</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>10545724654284683189</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>10545724654284683060</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北2区</td>\n",
|
||||
" <td>北京市</td>\n",
|
||||
" <td>北京市市辖区</td>\n",
|
||||
" <td>小</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>7600</td>\n",
|
||||
" <td>2303</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>10545511425559925000</td>\n",
|
||||
" <td>杭州超凡汽车维修服务有限公司</td>\n",
|
||||
" <td>10545511425559924895</td>\n",
|
||||
" <td>杭州超凡汽车维修服务有限公司</td>\n",
|
||||
" <td>华东区域</td>\n",
|
||||
" <td>华东4区</td>\n",
|
||||
" <td>浙江省</td>\n",
|
||||
" <td>杭州市</td>\n",
|
||||
" <td>NA</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>150</td>\n",
|
||||
" <td>2</td>\n",
|
||||
" <td>关怀提醒</td>\n",
|
||||
" <td>4</td>\n",
|
||||
" <td>车辆保险提醒</td>\n",
|
||||
" <td>DQ00200002</td>\n",
|
||||
" <td>2</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>10545724654284683189</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>10545724654284683060</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北2区</td>\n",
|
||||
" <td>北京市</td>\n",
|
||||
" <td>北京市市辖区</td>\n",
|
||||
" <td>小</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>7600</td>\n",
|
||||
" <td>2303</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>6</td>\n",
|
||||
" <td>用卡短信验证</td>\n",
|
||||
" <td>DQ00300002</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>10545724654284683189</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>10545724654284683060</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北2区</td>\n",
|
||||
" <td>北京市</td>\n",
|
||||
" <td>北京市市辖区</td>\n",
|
||||
" <td>小</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>7600</td>\n",
|
||||
" <td>2303</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>10545724654284683189</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>10545724654284683060</td>\n",
|
||||
" <td>北京兔师傅汽车科技有限公司</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北2区</td>\n",
|
||||
" <td>北京市</td>\n",
|
||||
" <td>北京市市辖区</td>\n",
|
||||
" <td>小</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>7600</td>\n",
|
||||
" <td>2303</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>30</td>\n",
|
||||
" <td>开卡通知</td>\n",
|
||||
" <td>DQ00300004</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>...</th>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>26399</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>11240984669917846525</td>\n",
|
||||
" <td>清江浦区国丹汽车维修部</td>\n",
|
||||
" <td>11240984669917854525</td>\n",
|
||||
" <td>巴博士汽车养护</td>\n",
|
||||
" <td>华东区域</td>\n",
|
||||
" <td>华东10区</td>\n",
|
||||
" <td>江苏省</td>\n",
|
||||
" <td>淮安市</td>\n",
|
||||
" <td>中</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>8</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>26400</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>11240984669917814054</td>\n",
|
||||
" <td>大名县华裕汽车维修有限公司</td>\n",
|
||||
" <td>11240984669917822056</td>\n",
|
||||
" <td>大名县华裕汽车维修有限公司</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北3区</td>\n",
|
||||
" <td>河北省</td>\n",
|
||||
" <td>邯郸市</td>\n",
|
||||
" <td>中</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>11</td>\n",
|
||||
" <td>2</td>\n",
|
||||
" <td>关怀提醒</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>服务提醒</td>\n",
|
||||
" <td>DQ00200001</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>26401</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>11240984669917801615</td>\n",
|
||||
" <td>甘井子区泉水街道车达人汽车美容中心</td>\n",
|
||||
" <td>11240984669917809617</td>\n",
|
||||
" <td>车达人一店</td>\n",
|
||||
" <td>东北区域</td>\n",
|
||||
" <td>东北2区</td>\n",
|
||||
" <td>辽宁省</td>\n",
|
||||
" <td>大连市</td>\n",
|
||||
" <td>小</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>26402</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>11240984669917799649</td>\n",
|
||||
" <td>迁安市爱车扳手汽修店</td>\n",
|
||||
" <td>11240984669917807654</td>\n",
|
||||
" <td>扳手车工厂</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北1区</td>\n",
|
||||
" <td>河北省</td>\n",
|
||||
" <td>唐山市</td>\n",
|
||||
" <td>中</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>6</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>26403</th>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" <td>11240984669917799649</td>\n",
|
||||
" <td>迁安市爱车扳手汽修店</td>\n",
|
||||
" <td>11240984669917807654</td>\n",
|
||||
" <td>扳手车工厂</td>\n",
|
||||
" <td>华北区域</td>\n",
|
||||
" <td>华北1区</td>\n",
|
||||
" <td>河北省</td>\n",
|
||||
" <td>唐山市</td>\n",
|
||||
" <td>中</td>\n",
|
||||
" <td>...</td>\n",
|
||||
" <td>0</td>\n",
|
||||
" <td>6</td>\n",
|
||||
" <td>3</td>\n",
|
||||
" <td>卡</td>\n",
|
||||
" <td>19</td>\n",
|
||||
" <td>用卡消费提醒</td>\n",
|
||||
" <td>DQ00300003</td>\n",
|
||||
" <td>1</td>\n",
|
||||
" <td>2023-12-11 05:21:23</td>\n",
|
||||
" <td>20231210</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"<p>26404 rows × 24 columns</p>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" date_fmt id_own_group group_name \n",
|
||||
"0 20231210 10545724654284683189 北京兔师傅汽车科技有限公司 \\\n",
|
||||
"1 20231210 10545511425559925000 杭州超凡汽车维修服务有限公司 \n",
|
||||
"2 20231210 10545724654284683189 北京兔师傅汽车科技有限公司 \n",
|
||||
"3 20231210 10545724654284683189 北京兔师傅汽车科技有限公司 \n",
|
||||
"4 20231210 10545724654284683189 北京兔师傅汽车科技有限公司 \n",
|
||||
"... ... ... ... \n",
|
||||
"26399 20231210 11240984669917846525 清江浦区国丹汽车维修部 \n",
|
||||
"26400 20231210 11240984669917814054 大名县华裕汽车维修有限公司 \n",
|
||||
"26401 20231210 11240984669917801615 甘井子区泉水街道车达人汽车美容中心 \n",
|
||||
"26402 20231210 11240984669917799649 迁安市爱车扳手汽修店 \n",
|
||||
"26403 20231210 11240984669917799649 迁安市爱车扳手汽修店 \n",
|
||||
"\n",
|
||||
" id_own_org org_name region_name branch_name \n",
|
||||
"0 10545724654284683060 北京兔师傅汽车科技有限公司 华北区域 华北2区 \\\n",
|
||||
"1 10545511425559924895 杭州超凡汽车维修服务有限公司 华东区域 华东4区 \n",
|
||||
"2 10545724654284683060 北京兔师傅汽车科技有限公司 华北区域 华北2区 \n",
|
||||
"3 10545724654284683060 北京兔师傅汽车科技有限公司 华北区域 华北2区 \n",
|
||||
"4 10545724654284683060 北京兔师傅汽车科技有限公司 华北区域 华北2区 \n",
|
||||
"... ... ... ... ... \n",
|
||||
"26399 11240984669917854525 巴博士汽车养护 华东区域 华东10区 \n",
|
||||
"26400 11240984669917822056 大名县华裕汽车维修有限公司 华北区域 华北3区 \n",
|
||||
"26401 11240984669917809617 车达人一店 东北区域 东北2区 \n",
|
||||
"26402 11240984669917807654 扳手车工厂 华北区域 华北1区 \n",
|
||||
"26403 11240984669917807654 扳手车工厂 华北区域 华北1区 \n",
|
||||
"\n",
|
||||
" province_name city_name org_size ... buy_sms_num send_sms_num \n",
|
||||
"0 北京市 北京市市辖区 小 ... 7600 2303 \\\n",
|
||||
"1 浙江省 杭州市 NA ... 0 150 \n",
|
||||
"2 北京市 北京市市辖区 小 ... 7600 2303 \n",
|
||||
"3 北京市 北京市市辖区 小 ... 7600 2303 \n",
|
||||
"4 北京市 北京市市辖区 小 ... 7600 2303 \n",
|
||||
"... ... ... ... ... ... ... \n",
|
||||
"26399 江苏省 淮安市 中 ... 0 8 \n",
|
||||
"26400 河北省 邯郸市 中 ... 0 11 \n",
|
||||
"26401 辽宁省 大连市 小 ... 0 3 \n",
|
||||
"26402 河北省 唐山市 中 ... 0 6 \n",
|
||||
"26403 河北省 唐山市 中 ... 0 6 \n",
|
||||
"\n",
|
||||
" msg_scene_cate_id msg_scene_cate_name msg_scene_id msg_scene_name \n",
|
||||
"0 3 卡 19 用卡消费提醒 \\\n",
|
||||
"1 2 关怀提醒 4 车辆保险提醒 \n",
|
||||
"2 3 卡 6 用卡短信验证 \n",
|
||||
"3 3 卡 19 用卡消费提醒 \n",
|
||||
"4 3 卡 30 开卡通知 \n",
|
||||
"... ... ... ... ... \n",
|
||||
"26399 3 卡 19 用卡消费提醒 \n",
|
||||
"26400 2 关怀提醒 3 服务提醒 \n",
|
||||
"26401 3 卡 19 用卡消费提醒 \n",
|
||||
"26402 3 卡 19 用卡消费提醒 \n",
|
||||
"26403 3 卡 19 用卡消费提醒 \n",
|
||||
"\n",
|
||||
" msg_scene_code final_send_quantity etl_time pt \n",
|
||||
"0 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"1 DQ00200002 2 2023-12-11 05:21:23 20231210 \n",
|
||||
"2 DQ00300002 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"3 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"4 DQ00300004 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"... ... ... ... ... \n",
|
||||
"26399 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"26400 DQ00200001 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"26401 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"26402 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"26403 DQ00300003 1 2023-12-11 05:21:23 20231210 \n",
|
||||
"\n",
|
||||
"[26404 rows x 24 columns]"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"holo_ads_report_message_group_scene_send_detail_d_all"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "F6processing",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in New Issue
Block a user