From be3af8cf5162b272a8805a171fa5ba6a839d55dc Mon Sep 17 00:00:00 2001 From: panda <1415243231@qq.com> Date: Sat, 28 Feb 2026 10:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api.py | 3 +- .../province_city_person_relation_to_bi.py | 1 + tools/保存common_module数据库链接内容.py | 6 +- tools/更新关联表.ipynb | 384 +++++++++ tools/重复派发删除.ipynb | 790 +----------------- 5 files changed, 416 insertions(+), 768 deletions(-) create mode 100644 tools/更新关联表.ipynb diff --git a/api.py b/api.py index 8485e62..f8161ef 100644 --- a/api.py +++ b/api.py @@ -344,7 +344,8 @@ class API: "is_start_trigger": data.get('is_start_trigger', True), } ) - print(payload) + # print(payload) + data_get = None retries = 0 diff --git a/back_ground_module/province_city_person_relation_to_bi.py b/back_ground_module/province_city_person_relation_to_bi.py index 5d36681..12eb3c0 100644 --- a/back_ground_module/province_city_person_relation_to_bi.py +++ b/back_ground_module/province_city_person_relation_to_bi.py @@ -23,6 +23,7 @@ api_instance = API() class ProvinceCityPersonRelationToBI: + '''省市区人员关系表转BI''' def __init__(self): self.pvc_data = None self.field_mapping = { diff --git a/tools/保存common_module数据库链接内容.py b/tools/保存common_module数据库链接内容.py index b9264ca..b66fb0c 100644 --- a/tools/保存common_module数据库链接内容.py +++ b/tools/保存common_module数据库链接内容.py @@ -22,8 +22,8 @@ def save_data_yichang_to_csv(): print("开始获取异常明细数据...") # 获取前一天的异常数据 - data_yichang_S = common_module.get_yichang_details(days_back=1) - # data_yichang_S = common_module.get_ngv_details(days_back=1) # ngv + # data_yichang_S = common_module.get_yichang_details(days_back=1) + data_yichang_S = common_module.get_ngv_details(days_back=1) # ngv if data_yichang_S is None or data_yichang_S.empty: @@ -35,7 +35,7 @@ def save_data_yichang_to_csv(): # 生成文件名(包含日期) current_date = datetime.datetime.now().strftime("%Y%m%d") - filename = f"data_yichang_{current_date}.csv" + filename = f"data_NGV_{current_date}.csv" filepath = os.path.join(output_dir, filename) # 保存到CSV diff --git a/tools/更新关联表.ipynb b/tools/更新关联表.ipynb new file mode 100644 index 0000000..3313cae --- /dev/null +++ b/tools/更新关联表.ipynb @@ -0,0 +1,384 @@ +{ + "cells": [ + { + "metadata": {}, + "cell_type": "markdown", + "source": "## 日常回访更新关联数据", + "id": "543ac8a0fa7e104f" + }, + { + "cell_type": "code", + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2026-02-25T06:41:21.741086700Z", + "start_time": "2026-02-25T06:41:21.133000500Z" + } + }, + "source": [ + "import pandas as pd\n", + "from api import API\n", + "\n", + "api_instance = API()\n", + "data2 = {\"api_key\": \"675b900991ad2491c69389ca\",\n", + " \"entry_id\": \"675b9c63925cd404038a6b86\",\n", + " \"data_id\": \"680c38d01fac8b4aabeec290\",\n", + " \"data\":\n", + " {\"_widget_1734321349021\": {\"value\": \"680eb1b512eb97b1a7667c44\"}, }} # 明日派发起点人员\n", + "res = api_instance.entry_data_update(data2)\n", + "\n", + "res" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"app_id\": \"675b900991ad2491c69389ca\", \"entry_id\": \"675b9c63925cd404038a6b86\", \"data_id\": \"680c38d01fac8b4aabeec290\", \"data\": {\"_widget_1734321349021\": {\"value\": \"680eb1b512eb97b1a7667c44\"}}, \"is_start_trigger\": true}\n", + "{'data': {'_id': '680c38d01fac8b4aabeec290', 'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-04-26T01:37:20.074Z', 'updateTime': '2026-02-25T06:41:22.704Z', 'deleteTime': None, 'flowState': 0, '_widget_1734590278281': '商水县德国马牌汽车维修中心', '_widget_1734590278277': '普通客户(VIP)', '_widget_1734590278286': '标准版', '_widget_1734590278278': 'C', '_widget_1734590278279': '商水县德国马牌汽车维修中心', '_widget_1734590278288': {'name': '郭文朔', 'username': '116743693536486170', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '116743693536486170'}, '_widget_1735096489244': '2026-03-12T16:00:00.000Z', '_widget_1734590278292': '续约后180天回访', '_widget_1734321349021': '680eb1b512eb97b1a7667c44', '_widget_1742548684369': '关怀使用情况,促进增购商机转化,识别潜在风险,及时提报。', '_widget_1742895342914': '', '_widget_1742895342915': '4', '_widget_1742895342916': [], '_widget_1734590278267': '路程鹏', '_widget_1734590278287': '18601759222', '_widget_1744596110482': '正常跟进', '_widget_1744681425824': '', '_widget_1744681425822': '', '_widget_1744681426080': '', '_widget_1735004315763': '是', '_widget_1735004315765': '是', '_widget_1734591440478': '', '_widget_1735526457050': '', '_widget_1736414756201': '', '_widget_1734592065745': '', '_widget_1744593781029': '', '_widget_1735004315768': '', '_widget_1735004315769': '', '_widget_1744622070539': '', '_widget_1735004315767': '', '_widget_1735106258016': '是', '_widget_1735106258018': '否', '_widget_1735106258020': '', '_widget_1735526457110': '', '_widget_1736414756203': '', '_widget_1735106258022': '', '_widget_1744593781128': '', '_widget_1735106258023': '', '_widget_1735106258024': '', '_widget_1744596110993': '', '_widget_1735106258025': '', '_widget_1735107354648': '是', '_widget_1735107354650': '是', '_widget_1735107354652': '', '_widget_1735526457120': '', '_widget_1736414756213': '', '_widget_1735107354654': '', '_widget_1744622070527': '', '_widget_1735107354655': '', '_widget_1744685581305': '', '_widget_1735107354656': '', '_widget_1744622070529': '', '_widget_1735107354657': '', '_widget_1735106258086': '是', '_widget_1735106258088': '是', '_widget_1735106258090': '', '_widget_1735526457114': '', '_widget_1736414756207': '', '_widget_1735106258092': '', '_widget_1744622070531': '', '_widget_1735106258093': '', '_widget_1744685581307': '', '_widget_1735106258094': '', '_widget_1744622070533': '', '_widget_1735106258095': '', '_widget_1735107355740': '', '_widget_1735107355742': '', '_widget_1735107355744': '', '_widget_1735526457144': '', '_widget_1736414756237': '', '_widget_1735107355746': '', '_widget_1744622070535': '', '_widget_1735107355747': '', '_widget_1744685581693': '', '_widget_1735107355748': '', '_widget_1744622070537': '', '_widget_1735107355749': '', '_widget_1735107354811': '', '_widget_1735107354813': '', '_widget_1735107354815': '', '_widget_1735526457124': '', '_widget_1736414756217': '', '_widget_1735107354817': '', '_widget_1744622070649': '', '_widget_1735107354818': '', '_widget_1744622070651': '', '_widget_1735107354819': '', '_widget_1744685581695': '', '_widget_1735107354820': '', '_widget_1735106258036': '是', '_widget_1735106258038': '否', '_widget_1735106258040': '', '_widget_1735526457112': '', '_widget_1736414756205': '', '_widget_1735106258042': '', '_widget_1744622070763': '', '_widget_1735106258043': '', '_widget_1744685581827': '', '_widget_1735106258044': '', '_widget_1744622070765': '', '_widget_1735106258045': '', '_widget_1735106258112': '否', '_widget_1735106258114': '', '_widget_1735106258116': '', '_widget_1735526457116': '', '_widget_1736414756209': '', '_widget_1735106258118': '', '_widget_1744622070767': '', '_widget_1735106258119': '', '_widget_1744622070769': '', '_widget_1735106258120': '', '_widget_1744685581960': '', '_widget_1735106258121': '', '_widget_1735106258141': '否', '_widget_1735106258143': '', '_widget_1735106258145': '', '_widget_1735526457118': '', '_widget_1736414756211': '', '_widget_1735106258147': '', '_widget_1744622070885': '', '_widget_1735106258148': '', '_widget_1744622070887': '', '_widget_1735106258149': '', '_widget_1744685582094': '', '_widget_1735106258150': '', '_widget_1735107355093': '', '_widget_1735107355095': '', '_widget_1735107355097': '', '_widget_1735526457130': '', '_widget_1736414756223': '', '_widget_1735107355099': '', '_widget_1744622071005': '', '_widget_1735107355100': '', '_widget_1744622071007': '', '_widget_1735107355101': '', '_widget_1744685582096': '', '_widget_1735107355102': '', '_widget_1735107355618': '否', '_widget_1735107355620': '', '_widget_1735107355622': '', '_widget_1735526457142': '', '_widget_1736414756235': '', '_widget_1735107355624': '', '_widget_1744622071127': '', '_widget_1735107355625': '', '_widget_1744622071129': '', '_widget_1735107355626': '', '_widget_1744685582098': '', '_widget_1735107355627': '', '_widget_1735107355143': '', '_widget_1735107355145': '', '_widget_1735107355147': '', '_widget_1735526457132': '', '_widget_1736414756225': '', '_widget_1735107355149': '', '_widget_1744622071131': '', '_widget_1735107355150': '', '_widget_1744622071133': '', '_widget_1735107355151': '', '_widget_1744685582100': '', '_widget_1735107355152': '', '_widget_1735107355333': '', '_widget_1735107355335': '', '_widget_1735107355337': '', '_widget_1735526457136': '', '_widget_1736414756229': '', '_widget_1735107355339': '', '_widget_1744622071135': '', '_widget_1735107355340': '', '_widget_1744622071137': '', '_widget_1735107355341': '', '_widget_1744685582238': '', '_widget_1735107355342': '', '_widget_1735107354980': '', '_widget_1735107354982': '', '_widget_1735107354984': '', '_widget_1735526457128': '', '_widget_1736414756221': '', '_widget_1735107354986': '', '_widget_1744622071263': '', '_widget_1735107354987': '', '_widget_1744622071265': '', '_widget_1735107354988': '', '_widget_1744685582240': '', '_widget_1735107354989': '', '_widget_1734590278274': 'E.S(旧)', '_widget_1734590278271': '单店', '_widget_1734590278276': '10账号', '_widget_1734590278275': '5账号', '_widget_1734590278273': '第3年', '_widget_1734590278272': '成熟', '_widget_1734590278280': 'CHS202004180067855', '_widget_1734590278289': {'name': '郭文朔', 'username': '116743693536486170', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '116743693536486170'}, '_widget_1734590278290': {'name': '张凯', 'username': '1525590028775887', 'status': 1, 'type': 0, 'departments': [122283546, 127595486, 122514491], 'integrate_id': '1525590028775887'}, '_widget_1734590278291': {'name': '邢恒岭', 'username': '054169455736370109', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '054169455736370109'}, '_widget_1735290738545': None, '_widget_1734590278266': '中原区域', '_widget_1734590278285': '中原8区', '_widget_1734590278284': '河南省', '_widget_1734590278283': '周口市', '_widget_1734590278282': '商水县', '_widget_1735112931760': '10546443564017502184', '_widget_1735112931761': '10546443564018080054', '_widget_1735107354725': '', '_widget_1735107354727': '', '_widget_1735107354729': '', '_widget_1735526457122': '', '_widget_1736414756215': '', '_widget_1735107354731': '', '_widget_1735107354732': '', '_widget_1735107354733': '', '_widget_1735107354734': '', '_widget_1735107354906': '', '_widget_1735107354908': '', '_widget_1735107354910': '', '_widget_1735526457126': '', '_widget_1736414756219': '', '_widget_1735107354912': '', '_widget_1735107354913': '', '_widget_1735107354914': '', '_widget_1735107354915': '', '_widget_1735107355235': '', '_widget_1735107355237': '', '_widget_1735107355239': '', '_widget_1735526457134': '', '_widget_1736414756227': '', '_widget_1735107355241': '', '_widget_1735107355242': '', '_widget_1735107355243': '', '_widget_1735107355244': '', '_widget_1735107355392': '', '_widget_1735107355394': '', '_widget_1735107355396': '', '_widget_1735526457138': '', '_widget_1736414756231': '', '_widget_1735107355398': '', '_widget_1735107355399': '', '_widget_1735107355400': '', '_widget_1735107355401': '', '_widget_1735107355502': '', '_widget_1735107355504': '', '_widget_1735107355506': '', '_widget_1735526457140': '', '_widget_1736414756233': '', '_widget_1735107355508': '', '_widget_1735107355509': '', '_widget_1735107355510': '', '_widget_1735107355511': '', '_widget_1748930432929': '', '_widget_1748930433349': '', '_widget_1734073342350': '√', '_widget_1735004315757': '√', '_widget_1735004315756': '√', '_widget_1735004315755': '√', '_widget_1735004315754': '√', '_widget_1735004315753': '×', '_widget_1735004315752': '√', '_widget_1735004315751': '×', '_widget_1735004315750': '×', '_widget_1735004315749': '×', '_widget_1735004315748': '×', '_widget_1735004315747': '△', '_widget_1735004315746': '×', '_widget_1735004315745': '×', '_widget_1735004315744': '×', '_widget_1735004315743': '×', '_widget_1735004315742': '×', '_widget_1735004315741': '×', '_widget_1734073342352': '×', '_widget_1735544637578': '', '_widget_1742204915356': '是', '_widget_1742204915358': '', '_widget_1747385404221': None, '_widget_1762738859198': '', '_widget_1750665986191': '', '_widget_1751356128825': '2025-07-22T09:17:26.000Z', '_widget_1752027667853': None, 'appId': '675b900991ad2491c69389ca', 'entryId': '675b9c63925cd404038a6b86'}}\n", + "{'data': {'_id': '680c38d01fac8b4aabeec290', 'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2025-04-26T01:37:20.074Z', 'updateTime': '2026-02-25T06:41:22.704Z', 'deleteTime': None, 'flowState': 0, '_widget_1734590278281': '商水县德国马牌汽车维修中心', '_widget_1734590278277': '普通客户(VIP)', '_widget_1734590278286': '标准版', '_widget_1734590278278': 'C', '_widget_1734590278279': '商水县德国马牌汽车维修中心', '_widget_1734590278288': {'name': '郭文朔', 'username': '116743693536486170', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '116743693536486170'}, '_widget_1735096489244': '2026-03-12T16:00:00.000Z', '_widget_1734590278292': '续约后180天回访', '_widget_1734321349021': '680eb1b512eb97b1a7667c44', '_widget_1742548684369': '关怀使用情况,促进增购商机转化,识别潜在风险,及时提报。', '_widget_1742895342914': '', '_widget_1742895342915': '4', '_widget_1742895342916': [], '_widget_1734590278267': '路程鹏', '_widget_1734590278287': '18601759222', '_widget_1744596110482': '正常跟进', '_widget_1744681425824': '', '_widget_1744681425822': '', '_widget_1744681426080': '', '_widget_1735004315763': '是', '_widget_1735004315765': '是', '_widget_1734591440478': '', '_widget_1735526457050': '', '_widget_1736414756201': '', '_widget_1734592065745': '', '_widget_1744593781029': '', '_widget_1735004315768': '', '_widget_1735004315769': '', '_widget_1744622070539': '', '_widget_1735004315767': '', '_widget_1735106258016': '是', '_widget_1735106258018': '否', '_widget_1735106258020': '', '_widget_1735526457110': '', '_widget_1736414756203': '', '_widget_1735106258022': '', '_widget_1744593781128': '', '_widget_1735106258023': '', '_widget_1735106258024': '', '_widget_1744596110993': '', '_widget_1735106258025': '', '_widget_1735107354648': '是', '_widget_1735107354650': '是', '_widget_1735107354652': '', '_widget_1735526457120': '', '_widget_1736414756213': '', '_widget_1735107354654': '', '_widget_1744622070527': '', '_widget_1735107354655': '', '_widget_1744685581305': '', '_widget_1735107354656': '', '_widget_1744622070529': '', '_widget_1735107354657': '', '_widget_1735106258086': '是', '_widget_1735106258088': '是', '_widget_1735106258090': '', '_widget_1735526457114': '', '_widget_1736414756207': '', '_widget_1735106258092': '', '_widget_1744622070531': '', '_widget_1735106258093': '', '_widget_1744685581307': '', '_widget_1735106258094': '', '_widget_1744622070533': '', '_widget_1735106258095': '', '_widget_1735107355740': '', '_widget_1735107355742': '', '_widget_1735107355744': '', '_widget_1735526457144': '', '_widget_1736414756237': '', '_widget_1735107355746': '', '_widget_1744622070535': '', '_widget_1735107355747': '', '_widget_1744685581693': '', '_widget_1735107355748': '', '_widget_1744622070537': '', '_widget_1735107355749': '', '_widget_1735107354811': '', '_widget_1735107354813': '', '_widget_1735107354815': '', '_widget_1735526457124': '', '_widget_1736414756217': '', '_widget_1735107354817': '', '_widget_1744622070649': '', '_widget_1735107354818': '', '_widget_1744622070651': '', '_widget_1735107354819': '', '_widget_1744685581695': '', '_widget_1735107354820': '', '_widget_1735106258036': '是', '_widget_1735106258038': '否', '_widget_1735106258040': '', '_widget_1735526457112': '', '_widget_1736414756205': '', '_widget_1735106258042': '', '_widget_1744622070763': '', '_widget_1735106258043': '', '_widget_1744685581827': '', '_widget_1735106258044': '', '_widget_1744622070765': '', '_widget_1735106258045': '', '_widget_1735106258112': '否', '_widget_1735106258114': '', '_widget_1735106258116': '', '_widget_1735526457116': '', '_widget_1736414756209': '', '_widget_1735106258118': '', '_widget_1744622070767': '', '_widget_1735106258119': '', '_widget_1744622070769': '', '_widget_1735106258120': '', '_widget_1744685581960': '', '_widget_1735106258121': '', '_widget_1735106258141': '否', '_widget_1735106258143': '', '_widget_1735106258145': '', '_widget_1735526457118': '', '_widget_1736414756211': '', '_widget_1735106258147': '', '_widget_1744622070885': '', '_widget_1735106258148': '', '_widget_1744622070887': '', '_widget_1735106258149': '', '_widget_1744685582094': '', '_widget_1735106258150': '', '_widget_1735107355093': '', '_widget_1735107355095': '', '_widget_1735107355097': '', '_widget_1735526457130': '', '_widget_1736414756223': '', '_widget_1735107355099': '', '_widget_1744622071005': '', '_widget_1735107355100': '', '_widget_1744622071007': '', '_widget_1735107355101': '', '_widget_1744685582096': '', '_widget_1735107355102': '', '_widget_1735107355618': '否', '_widget_1735107355620': '', '_widget_1735107355622': '', '_widget_1735526457142': '', '_widget_1736414756235': '', '_widget_1735107355624': '', '_widget_1744622071127': '', '_widget_1735107355625': '', '_widget_1744622071129': '', '_widget_1735107355626': '', '_widget_1744685582098': '', '_widget_1735107355627': '', '_widget_1735107355143': '', '_widget_1735107355145': '', '_widget_1735107355147': '', '_widget_1735526457132': '', '_widget_1736414756225': '', '_widget_1735107355149': '', '_widget_1744622071131': '', '_widget_1735107355150': '', '_widget_1744622071133': '', '_widget_1735107355151': '', '_widget_1744685582100': '', '_widget_1735107355152': '', '_widget_1735107355333': '', '_widget_1735107355335': '', '_widget_1735107355337': '', '_widget_1735526457136': '', '_widget_1736414756229': '', '_widget_1735107355339': '', '_widget_1744622071135': '', '_widget_1735107355340': '', '_widget_1744622071137': '', '_widget_1735107355341': '', '_widget_1744685582238': '', '_widget_1735107355342': '', '_widget_1735107354980': '', '_widget_1735107354982': '', '_widget_1735107354984': '', '_widget_1735526457128': '', '_widget_1736414756221': '', '_widget_1735107354986': '', '_widget_1744622071263': '', '_widget_1735107354987': '', '_widget_1744622071265': '', '_widget_1735107354988': '', '_widget_1744685582240': '', '_widget_1735107354989': '', '_widget_1734590278274': 'E.S(旧)', '_widget_1734590278271': '单店', '_widget_1734590278276': '10账号', '_widget_1734590278275': '5账号', '_widget_1734590278273': '第3年', '_widget_1734590278272': '成熟', '_widget_1734590278280': 'CHS202004180067855', '_widget_1734590278289': {'name': '郭文朔', 'username': '116743693536486170', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '116743693536486170'}, '_widget_1734590278290': {'name': '张凯', 'username': '1525590028775887', 'status': 1, 'type': 0, 'departments': [122283546, 127595486, 122514491], 'integrate_id': '1525590028775887'}, '_widget_1734590278291': {'name': '邢恒岭', 'username': '054169455736370109', 'status': 1, 'type': 0, 'departments': [122514491], 'integrate_id': '054169455736370109'}, '_widget_1735290738545': None, '_widget_1734590278266': '中原区域', '_widget_1734590278285': '中原8区', '_widget_1734590278284': '河南省', '_widget_1734590278283': '周口市', '_widget_1734590278282': '商水县', '_widget_1735112931760': '10546443564017502184', '_widget_1735112931761': '10546443564018080054', '_widget_1735107354725': '', '_widget_1735107354727': '', '_widget_1735107354729': '', '_widget_1735526457122': '', '_widget_1736414756215': '', '_widget_1735107354731': '', '_widget_1735107354732': '', '_widget_1735107354733': '', '_widget_1735107354734': '', '_widget_1735107354906': '', '_widget_1735107354908': '', '_widget_1735107354910': '', '_widget_1735526457126': '', '_widget_1736414756219': '', '_widget_1735107354912': '', '_widget_1735107354913': '', '_widget_1735107354914': '', '_widget_1735107354915': '', '_widget_1735107355235': '', '_widget_1735107355237': '', '_widget_1735107355239': '', '_widget_1735526457134': '', '_widget_1736414756227': '', '_widget_1735107355241': '', '_widget_1735107355242': '', '_widget_1735107355243': '', '_widget_1735107355244': '', '_widget_1735107355392': '', '_widget_1735107355394': '', '_widget_1735107355396': '', '_widget_1735526457138': '', '_widget_1736414756231': '', '_widget_1735107355398': '', '_widget_1735107355399': '', '_widget_1735107355400': '', '_widget_1735107355401': '', '_widget_1735107355502': '', '_widget_1735107355504': '', '_widget_1735107355506': '', '_widget_1735526457140': '', '_widget_1736414756233': '', '_widget_1735107355508': '', '_widget_1735107355509': '', '_widget_1735107355510': '', '_widget_1735107355511': '', '_widget_1748930432929': '', '_widget_1748930433349': '', '_widget_1734073342350': '√', '_widget_1735004315757': '√', '_widget_1735004315756': '√', '_widget_1735004315755': '√', '_widget_1735004315754': '√', '_widget_1735004315753': '×', '_widget_1735004315752': '√', '_widget_1735004315751': '×', '_widget_1735004315750': '×', '_widget_1735004315749': '×', '_widget_1735004315748': '×', '_widget_1735004315747': '△', '_widget_1735004315746': '×', '_widget_1735004315745': '×', '_widget_1735004315744': '×', '_widget_1735004315743': '×', '_widget_1735004315742': '×', '_widget_1735004315741': '×', '_widget_1734073342352': '×', '_widget_1735544637578': '', '_widget_1742204915356': '是', '_widget_1742204915358': '', '_widget_1747385404221': None, '_widget_1762738859198': '', '_widget_1750665986191': '', '_widget_1751356128825': '2025-07-22T09:17:26.000Z', '_widget_1752027667853': None, 'appId': '675b900991ad2491c69389ca', 'entryId': '675b9c63925cd404038a6b86'}}\n" + ] + }, + { + "data": { + "text/plain": [ + "{'data': {'_id': '680c38d01fac8b4aabeec290',\n", + " 'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0},\n", + " 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0},\n", + " 'deleter': None,\n", + " 'createTime': '2025-04-26T01:37:20.074Z',\n", + " 'updateTime': '2026-02-25T06:41:22.704Z',\n", + " 'deleteTime': None,\n", + " 'flowState': 0,\n", + " '_widget_1734590278281': '商水县德国马牌汽车维修中心',\n", + " '_widget_1734590278277': '普通客户(VIP)',\n", + " '_widget_1734590278286': '标准版',\n", + " '_widget_1734590278278': 'C',\n", + " '_widget_1734590278279': '商水县德国马牌汽车维修中心',\n", + " '_widget_1734590278288': {'name': '郭文朔',\n", + " 'username': '116743693536486170',\n", + " 'status': 1,\n", + " 'type': 0,\n", + " 'departments': [122514491],\n", + " 'integrate_id': '116743693536486170'},\n", + " '_widget_1735096489244': '2026-03-12T16:00:00.000Z',\n", + " '_widget_1734590278292': '续约后180天回访',\n", + " '_widget_1734321349021': '680eb1b512eb97b1a7667c44',\n", + " '_widget_1742548684369': '关怀使用情况,促进增购商机转化,识别潜在风险,及时提报。',\n", + " '_widget_1742895342914': '',\n", + " '_widget_1742895342915': '4',\n", + " '_widget_1742895342916': [],\n", + " '_widget_1734590278267': '路程鹏',\n", + " '_widget_1734590278287': '18601759222',\n", + " '_widget_1744596110482': '正常跟进',\n", + " '_widget_1744681425824': '',\n", + " '_widget_1744681425822': '',\n", + " '_widget_1744681426080': '',\n", + " '_widget_1735004315763': '是',\n", + " '_widget_1735004315765': '是',\n", + " '_widget_1734591440478': '',\n", + " '_widget_1735526457050': '',\n", + " '_widget_1736414756201': '',\n", + " '_widget_1734592065745': '',\n", + " '_widget_1744593781029': '',\n", + " '_widget_1735004315768': '',\n", + " '_widget_1735004315769': '',\n", + " '_widget_1744622070539': '',\n", + " '_widget_1735004315767': '',\n", + " '_widget_1735106258016': '是',\n", + " '_widget_1735106258018': '否',\n", + " '_widget_1735106258020': '',\n", + " '_widget_1735526457110': '',\n", + " '_widget_1736414756203': '',\n", + " '_widget_1735106258022': '',\n", + " '_widget_1744593781128': '',\n", + " '_widget_1735106258023': '',\n", + " '_widget_1735106258024': '',\n", + " '_widget_1744596110993': '',\n", + " '_widget_1735106258025': '',\n", + " '_widget_1735107354648': '是',\n", + " '_widget_1735107354650': '是',\n", + " '_widget_1735107354652': '',\n", + " '_widget_1735526457120': '',\n", + " '_widget_1736414756213': '',\n", + " '_widget_1735107354654': '',\n", + " '_widget_1744622070527': '',\n", + " '_widget_1735107354655': '',\n", + " '_widget_1744685581305': '',\n", + " '_widget_1735107354656': '',\n", + " '_widget_1744622070529': '',\n", + " '_widget_1735107354657': '',\n", + " '_widget_1735106258086': '是',\n", + " '_widget_1735106258088': '是',\n", + " '_widget_1735106258090': '',\n", + " '_widget_1735526457114': '',\n", + " '_widget_1736414756207': '',\n", + " '_widget_1735106258092': '',\n", + " '_widget_1744622070531': '',\n", + " '_widget_1735106258093': '',\n", + " '_widget_1744685581307': '',\n", + " '_widget_1735106258094': '',\n", + " '_widget_1744622070533': '',\n", + " '_widget_1735106258095': '',\n", + " '_widget_1735107355740': '',\n", + " '_widget_1735107355742': '',\n", + " '_widget_1735107355744': '',\n", + " '_widget_1735526457144': '',\n", + " '_widget_1736414756237': '',\n", + " '_widget_1735107355746': '',\n", + " '_widget_1744622070535': '',\n", + " '_widget_1735107355747': '',\n", + " '_widget_1744685581693': '',\n", + " '_widget_1735107355748': '',\n", + " '_widget_1744622070537': '',\n", + " '_widget_1735107355749': '',\n", + " '_widget_1735107354811': '',\n", + " '_widget_1735107354813': '',\n", + " '_widget_1735107354815': '',\n", + " '_widget_1735526457124': '',\n", + " '_widget_1736414756217': '',\n", + " '_widget_1735107354817': '',\n", + " '_widget_1744622070649': '',\n", + " '_widget_1735107354818': '',\n", + " '_widget_1744622070651': '',\n", + " '_widget_1735107354819': '',\n", + " '_widget_1744685581695': '',\n", + " '_widget_1735107354820': '',\n", + " '_widget_1735106258036': '是',\n", + " '_widget_1735106258038': '否',\n", + " '_widget_1735106258040': '',\n", + " '_widget_1735526457112': '',\n", + " '_widget_1736414756205': '',\n", + " '_widget_1735106258042': '',\n", + " '_widget_1744622070763': '',\n", + " '_widget_1735106258043': '',\n", + " '_widget_1744685581827': '',\n", + " '_widget_1735106258044': '',\n", + " '_widget_1744622070765': '',\n", + " '_widget_1735106258045': '',\n", + " '_widget_1735106258112': '否',\n", + " '_widget_1735106258114': '',\n", + " '_widget_1735106258116': '',\n", + " '_widget_1735526457116': '',\n", + " '_widget_1736414756209': '',\n", + " '_widget_1735106258118': '',\n", + " '_widget_1744622070767': '',\n", + " '_widget_1735106258119': '',\n", + " '_widget_1744622070769': '',\n", + " '_widget_1735106258120': '',\n", + " '_widget_1744685581960': '',\n", + " '_widget_1735106258121': '',\n", + " '_widget_1735106258141': '否',\n", + " '_widget_1735106258143': '',\n", + " '_widget_1735106258145': '',\n", + " '_widget_1735526457118': '',\n", + " '_widget_1736414756211': '',\n", + " '_widget_1735106258147': '',\n", + " '_widget_1744622070885': '',\n", + " '_widget_1735106258148': '',\n", + " '_widget_1744622070887': '',\n", + " '_widget_1735106258149': '',\n", + " '_widget_1744685582094': '',\n", + " '_widget_1735106258150': '',\n", + " '_widget_1735107355093': '',\n", + " '_widget_1735107355095': '',\n", + " '_widget_1735107355097': '',\n", + " '_widget_1735526457130': '',\n", + " '_widget_1736414756223': '',\n", + " '_widget_1735107355099': '',\n", + " '_widget_1744622071005': '',\n", + " '_widget_1735107355100': '',\n", + " '_widget_1744622071007': '',\n", + " '_widget_1735107355101': '',\n", + " '_widget_1744685582096': '',\n", + " '_widget_1735107355102': '',\n", + " '_widget_1735107355618': '否',\n", + " '_widget_1735107355620': '',\n", + " '_widget_1735107355622': '',\n", + " '_widget_1735526457142': '',\n", + " '_widget_1736414756235': '',\n", + " '_widget_1735107355624': '',\n", + " '_widget_1744622071127': '',\n", + " '_widget_1735107355625': '',\n", + " '_widget_1744622071129': '',\n", + " '_widget_1735107355626': '',\n", + " '_widget_1744685582098': '',\n", + " '_widget_1735107355627': '',\n", + " '_widget_1735107355143': '',\n", + " '_widget_1735107355145': '',\n", + " '_widget_1735107355147': '',\n", + " '_widget_1735526457132': '',\n", + " '_widget_1736414756225': '',\n", + " '_widget_1735107355149': '',\n", + " '_widget_1744622071131': '',\n", + " '_widget_1735107355150': '',\n", + " '_widget_1744622071133': '',\n", + " '_widget_1735107355151': '',\n", + " '_widget_1744685582100': '',\n", + " '_widget_1735107355152': '',\n", + " '_widget_1735107355333': '',\n", + " '_widget_1735107355335': '',\n", + " '_widget_1735107355337': '',\n", + " '_widget_1735526457136': '',\n", + " '_widget_1736414756229': '',\n", + " '_widget_1735107355339': '',\n", + " '_widget_1744622071135': '',\n", + " '_widget_1735107355340': '',\n", + " '_widget_1744622071137': '',\n", + " '_widget_1735107355341': '',\n", + " '_widget_1744685582238': '',\n", + " '_widget_1735107355342': '',\n", + " '_widget_1735107354980': '',\n", + " '_widget_1735107354982': '',\n", + " '_widget_1735107354984': '',\n", + " '_widget_1735526457128': '',\n", + " '_widget_1736414756221': '',\n", + " '_widget_1735107354986': '',\n", + " '_widget_1744622071263': '',\n", + " '_widget_1735107354987': '',\n", + " '_widget_1744622071265': '',\n", + " '_widget_1735107354988': '',\n", + " '_widget_1744685582240': '',\n", + " '_widget_1735107354989': '',\n", + " '_widget_1734590278274': 'E.S(旧)',\n", + " '_widget_1734590278271': '单店',\n", + " '_widget_1734590278276': '10账号',\n", + " '_widget_1734590278275': '5账号',\n", + " '_widget_1734590278273': '第3年',\n", + " '_widget_1734590278272': '成熟',\n", + " '_widget_1734590278280': 'CHS202004180067855',\n", + " '_widget_1734590278289': {'name': '郭文朔',\n", + " 'username': '116743693536486170',\n", + " 'status': 1,\n", + " 'type': 0,\n", + " 'departments': [122514491],\n", + " 'integrate_id': '116743693536486170'},\n", + " '_widget_1734590278290': {'name': '张凯',\n", + " 'username': '1525590028775887',\n", + " 'status': 1,\n", + " 'type': 0,\n", + " 'departments': [122283546, 127595486, 122514491],\n", + " 'integrate_id': '1525590028775887'},\n", + " '_widget_1734590278291': {'name': '邢恒岭',\n", + " 'username': '054169455736370109',\n", + " 'status': 1,\n", + " 'type': 0,\n", + " 'departments': [122514491],\n", + " 'integrate_id': '054169455736370109'},\n", + " '_widget_1735290738545': None,\n", + " '_widget_1734590278266': '中原区域',\n", + " '_widget_1734590278285': '中原8区',\n", + " '_widget_1734590278284': '河南省',\n", + " '_widget_1734590278283': '周口市',\n", + " '_widget_1734590278282': '商水县',\n", + " '_widget_1735112931760': '10546443564017502184',\n", + " '_widget_1735112931761': '10546443564018080054',\n", + " '_widget_1735107354725': '',\n", + " '_widget_1735107354727': '',\n", + " '_widget_1735107354729': '',\n", + " '_widget_1735526457122': '',\n", + " '_widget_1736414756215': '',\n", + " '_widget_1735107354731': '',\n", + " '_widget_1735107354732': '',\n", + " '_widget_1735107354733': '',\n", + " '_widget_1735107354734': '',\n", + " '_widget_1735107354906': '',\n", + " '_widget_1735107354908': '',\n", + " '_widget_1735107354910': '',\n", + " '_widget_1735526457126': '',\n", + " '_widget_1736414756219': '',\n", + " '_widget_1735107354912': '',\n", + " '_widget_1735107354913': '',\n", + " '_widget_1735107354914': '',\n", + " '_widget_1735107354915': '',\n", + " '_widget_1735107355235': '',\n", + " '_widget_1735107355237': '',\n", + " '_widget_1735107355239': '',\n", + " '_widget_1735526457134': '',\n", + " '_widget_1736414756227': '',\n", + " '_widget_1735107355241': '',\n", + " '_widget_1735107355242': '',\n", + " '_widget_1735107355243': '',\n", + " '_widget_1735107355244': '',\n", + " '_widget_1735107355392': '',\n", + " '_widget_1735107355394': '',\n", + " '_widget_1735107355396': '',\n", + " '_widget_1735526457138': '',\n", + " '_widget_1736414756231': '',\n", + " '_widget_1735107355398': '',\n", + " '_widget_1735107355399': '',\n", + " '_widget_1735107355400': '',\n", + " '_widget_1735107355401': '',\n", + " '_widget_1735107355502': '',\n", + " '_widget_1735107355504': '',\n", + " '_widget_1735107355506': '',\n", + " '_widget_1735526457140': '',\n", + " '_widget_1736414756233': '',\n", + " '_widget_1735107355508': '',\n", + " '_widget_1735107355509': '',\n", + " '_widget_1735107355510': '',\n", + " '_widget_1735107355511': '',\n", + " '_widget_1748930432929': '',\n", + " '_widget_1748930433349': '',\n", + " '_widget_1734073342350': '√',\n", + " '_widget_1735004315757': '√',\n", + " '_widget_1735004315756': '√',\n", + " '_widget_1735004315755': '√',\n", + " '_widget_1735004315754': '√',\n", + " '_widget_1735004315753': '×',\n", + " '_widget_1735004315752': '√',\n", + " '_widget_1735004315751': '×',\n", + " '_widget_1735004315750': '×',\n", + " '_widget_1735004315749': '×',\n", + " '_widget_1735004315748': '×',\n", + " '_widget_1735004315747': '△',\n", + " '_widget_1735004315746': '×',\n", + " '_widget_1735004315745': '×',\n", + " '_widget_1735004315744': '×',\n", + " '_widget_1735004315743': '×',\n", + " '_widget_1735004315742': '×',\n", + " '_widget_1735004315741': '×',\n", + " '_widget_1734073342352': '×',\n", + " '_widget_1735544637578': '',\n", + " '_widget_1742204915356': '是',\n", + " '_widget_1742204915358': '',\n", + " '_widget_1747385404221': None,\n", + " '_widget_1762738859198': '',\n", + " '_widget_1750665986191': '',\n", + " '_widget_1751356128825': '2025-07-22T09:17:26.000Z',\n", + " '_widget_1752027667853': None,\n", + " 'appId': '675b900991ad2491c69389ca',\n", + " 'entryId': '675b9c63925cd404038a6b86'}}" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 2 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tools/重复派发删除.ipynb b/tools/重复派发删除.ipynb index 77a44fa..407b584 100644 --- a/tools/重复派发删除.ipynb +++ b/tools/重复派发删除.ipynb @@ -12,8 +12,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2025-07-17T08:03:51.919981Z", - "start_time": "2025-07-17T08:03:39.331174Z" + "end_time": "2026-02-25T05:45:52.998049100Z", + "start_time": "2026-02-25T05:45:49.628616100Z" } }, "source": [ @@ -21,7 +21,7 @@ "from api import API\n", "\n", "api_instance = API()\n", - "df = pd.read_excel(r\"C:\\Users\\Administrator.DESKTOP-7IC2USJ\\Downloads\\客户资料_20250801111301.xlsx\",sheet_name=\"id为空\")\n", + "df = pd.read_excel(r\"C:\\Users\\hp_z66\\Downloads\\客户资料_20260225113103.xlsx\",sheet_name=\"Sheet7\")\n", "for index, row in df.iterrows():\n", " data_id = row[\"data_id\"]\n", " payload = {\n", @@ -33,37 +33,25 @@ ], "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n" + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001B[31m---------------------------------------------------------------------------\u001B[39m", + "\u001B[31mKeyboardInterrupt\u001B[39m Traceback (most recent call last)", + "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[1]\u001B[39m\u001B[32m, line 5\u001B[39m\n\u001B[32m 2\u001B[39m \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mapi\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mimport\u001B[39;00m API\n\u001B[32m 4\u001B[39m api_instance = API()\n\u001B[32m----> \u001B[39m\u001B[32m5\u001B[39m df = \u001B[43mpd\u001B[49m\u001B[43m.\u001B[49m\u001B[43mread_excel\u001B[49m\u001B[43m(\u001B[49m\u001B[33;43mr\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43mC:\u001B[39;49m\u001B[33;43m\\\u001B[39;49m\u001B[33;43mUsers\u001B[39;49m\u001B[33;43m\\\u001B[39;49m\u001B[33;43mhp_z66\u001B[39;49m\u001B[33;43m\\\u001B[39;49m\u001B[33;43mDownloads\u001B[39;49m\u001B[33;43m\\\u001B[39;49m\u001B[33;43m客户资料_20260225113103.xlsx\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43msheet_name\u001B[49m\u001B[43m=\u001B[49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43mSheet7\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[32m 6\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m index, row \u001B[38;5;129;01min\u001B[39;00m df.iterrows():\n\u001B[32m 7\u001B[39m data_id = row[\u001B[33m\"\u001B[39m\u001B[33mdata_id\u001B[39m\u001B[33m\"\u001B[39m]\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:495\u001B[39m, in \u001B[36mread_excel\u001B[39m\u001B[34m(io, sheet_name, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, date_format, thousands, decimal, comment, skipfooter, storage_options, dtype_backend, engine_kwargs)\u001B[39m\n\u001B[32m 493\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28misinstance\u001B[39m(io, ExcelFile):\n\u001B[32m 494\u001B[39m should_close = \u001B[38;5;28;01mTrue\u001B[39;00m\n\u001B[32m--> \u001B[39m\u001B[32m495\u001B[39m io = \u001B[43mExcelFile\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 496\u001B[39m \u001B[43m \u001B[49m\u001B[43mio\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 497\u001B[39m \u001B[43m \u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m=\u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 498\u001B[39m \u001B[43m \u001B[49m\u001B[43mengine\u001B[49m\u001B[43m=\u001B[49m\u001B[43mengine\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 499\u001B[39m \u001B[43m \u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m=\u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 500\u001B[39m \u001B[43m \u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 501\u001B[39m \u001B[38;5;28;01melif\u001B[39;00m engine \u001B[38;5;129;01mand\u001B[39;00m engine != io.engine:\n\u001B[32m 502\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\n\u001B[32m 503\u001B[39m \u001B[33m\"\u001B[39m\u001B[33mEngine should not be specified when passing \u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 504\u001B[39m \u001B[33m\"\u001B[39m\u001B[33man ExcelFile - ExcelFile already has the engine set\u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 505\u001B[39m )\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:1567\u001B[39m, in \u001B[36mExcelFile.__init__\u001B[39m\u001B[34m(self, path_or_buffer, engine, storage_options, engine_kwargs)\u001B[39m\n\u001B[32m 1564\u001B[39m \u001B[38;5;28mself\u001B[39m.engine = engine\n\u001B[32m 1565\u001B[39m \u001B[38;5;28mself\u001B[39m.storage_options = storage_options\n\u001B[32m-> \u001B[39m\u001B[32m1567\u001B[39m \u001B[38;5;28mself\u001B[39m._reader = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43m_engines\u001B[49m\u001B[43m[\u001B[49m\u001B[43mengine\u001B[49m\u001B[43m]\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 1568\u001B[39m \u001B[43m \u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43m_io\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 1569\u001B[39m \u001B[43m \u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m=\u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 1570\u001B[39m \u001B[43m \u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m=\u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 1571\u001B[39m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\pandas\\io\\excel\\_openpyxl.py:553\u001B[39m, in \u001B[36mOpenpyxlReader.__init__\u001B[39m\u001B[34m(self, filepath_or_buffer, storage_options, engine_kwargs)\u001B[39m\n\u001B[32m 541\u001B[39m \u001B[38;5;250m\u001B[39m\u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m 542\u001B[39m \u001B[33;03mReader using openpyxl engine.\u001B[39;00m\n\u001B[32m 543\u001B[39m \n\u001B[32m (...)\u001B[39m\u001B[32m 550\u001B[39m \u001B[33;03m Arbitrary keyword arguments passed to excel engine.\u001B[39;00m\n\u001B[32m 551\u001B[39m \u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m 552\u001B[39m import_optional_dependency(\u001B[33m\"\u001B[39m\u001B[33mopenpyxl\u001B[39m\u001B[33m\"\u001B[39m)\n\u001B[32m--> \u001B[39m\u001B[32m553\u001B[39m \u001B[38;5;28;43msuper\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\u001B[43m.\u001B[49m\u001B[34;43m__init__\u001B[39;49m\u001B[43m(\u001B[49m\n\u001B[32m 554\u001B[39m \u001B[43m \u001B[49m\u001B[43mfilepath_or_buffer\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 555\u001B[39m \u001B[43m \u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m=\u001B[49m\u001B[43mstorage_options\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 556\u001B[39m \u001B[43m \u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m=\u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 557\u001B[39m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\pandas\\io\\excel\\_base.py:573\u001B[39m, in \u001B[36mBaseExcelReader.__init__\u001B[39m\u001B[34m(self, filepath_or_buffer, storage_options, engine_kwargs)\u001B[39m\n\u001B[32m 571\u001B[39m \u001B[38;5;28mself\u001B[39m.handles.handle.seek(\u001B[32m0\u001B[39m)\n\u001B[32m 572\u001B[39m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[32m--> \u001B[39m\u001B[32m573\u001B[39m \u001B[38;5;28mself\u001B[39m.book = \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mload_workbook\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mhandles\u001B[49m\u001B[43m.\u001B[49m\u001B[43mhandle\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 574\u001B[39m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mException\u001B[39;00m:\n\u001B[32m 575\u001B[39m \u001B[38;5;28mself\u001B[39m.close()\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\pandas\\io\\excel\\_openpyxl.py:572\u001B[39m, in \u001B[36mOpenpyxlReader.load_workbook\u001B[39m\u001B[34m(self, filepath_or_buffer, engine_kwargs)\u001B[39m\n\u001B[32m 568\u001B[39m \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mopenpyxl\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mimport\u001B[39;00m load_workbook\n\u001B[32m 570\u001B[39m default_kwargs = {\u001B[33m\"\u001B[39m\u001B[33mread_only\u001B[39m\u001B[33m\"\u001B[39m: \u001B[38;5;28;01mTrue\u001B[39;00m, \u001B[33m\"\u001B[39m\u001B[33mdata_only\u001B[39m\u001B[33m\"\u001B[39m: \u001B[38;5;28;01mTrue\u001B[39;00m, \u001B[33m\"\u001B[39m\u001B[33mkeep_links\u001B[39m\u001B[33m\"\u001B[39m: \u001B[38;5;28;01mFalse\u001B[39;00m}\n\u001B[32m--> \u001B[39m\u001B[32m572\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mload_workbook\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 573\u001B[39m \u001B[43m \u001B[49m\u001B[43mfilepath_or_buffer\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 574\u001B[39m \u001B[43m \u001B[49m\u001B[43m*\u001B[49m\u001B[43m*\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdefault_kwargs\u001B[49m\u001B[43m \u001B[49m\u001B[43m|\u001B[49m\u001B[43m \u001B[49m\u001B[43mengine_kwargs\u001B[49m\u001B[43m)\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 575\u001B[39m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\reader\\excel.py:348\u001B[39m, in \u001B[36mload_workbook\u001B[39m\u001B[34m(filename, read_only, keep_vba, data_only, keep_links, rich_text)\u001B[39m\n\u001B[32m 318\u001B[39m \u001B[38;5;250m\u001B[39m\u001B[33;03m\"\"\"Open the given filename and return the workbook\u001B[39;00m\n\u001B[32m 319\u001B[39m \n\u001B[32m 320\u001B[39m \u001B[33;03m:param filename: the path to open or a file-like object\u001B[39;00m\n\u001B[32m (...)\u001B[39m\u001B[32m 344\u001B[39m \n\u001B[32m 345\u001B[39m \u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m 346\u001B[39m reader = ExcelReader(filename, read_only, keep_vba,\n\u001B[32m 347\u001B[39m data_only, keep_links, rich_text)\n\u001B[32m--> \u001B[39m\u001B[32m348\u001B[39m \u001B[43mreader\u001B[49m\u001B[43m.\u001B[49m\u001B[43mread\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 349\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m reader.wb\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\reader\\excel.py:291\u001B[39m, in \u001B[36mExcelReader.read\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 289\u001B[39m \u001B[38;5;28mself\u001B[39m.read_manifest()\n\u001B[32m 290\u001B[39m action = \u001B[33m\"\u001B[39m\u001B[33mread strings\u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m--> \u001B[39m\u001B[32m291\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mread_strings\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 292\u001B[39m action = \u001B[33m\"\u001B[39m\u001B[33mread workbook\u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 293\u001B[39m \u001B[38;5;28mself\u001B[39m.read_workbook()\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\reader\\excel.py:147\u001B[39m, in \u001B[36mExcelReader.read_strings\u001B[39m\u001B[34m(self)\u001B[39m\n\u001B[32m 145\u001B[39m strings_path = ct.PartName[\u001B[32m1\u001B[39m:]\n\u001B[32m 146\u001B[39m \u001B[38;5;28;01mwith\u001B[39;00m \u001B[38;5;28mself\u001B[39m.archive.open(strings_path,) \u001B[38;5;28;01mas\u001B[39;00m src:\n\u001B[32m--> \u001B[39m\u001B[32m147\u001B[39m \u001B[38;5;28mself\u001B[39m.shared_strings = \u001B[43mreader\u001B[49m\u001B[43m(\u001B[49m\u001B[43msrc\u001B[49m\u001B[43m)\u001B[49m\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\reader\\strings.py:18\u001B[39m, in \u001B[36mread_string_table\u001B[39m\u001B[34m(xml_source)\u001B[39m\n\u001B[32m 16\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m _, node \u001B[38;5;129;01min\u001B[39;00m iterparse(xml_source):\n\u001B[32m 17\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m node.tag == STRING_TAG:\n\u001B[32m---> \u001B[39m\u001B[32m18\u001B[39m text = \u001B[43mText\u001B[49m\u001B[43m.\u001B[49m\u001B[43mfrom_tree\u001B[49m\u001B[43m(\u001B[49m\u001B[43mnode\u001B[49m\u001B[43m)\u001B[49m.content\n\u001B[32m 19\u001B[39m text = text.replace(\u001B[33m'\u001B[39m\u001B[33mx005F_\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33m'\u001B[39m)\n\u001B[32m 20\u001B[39m node.clear()\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\descriptors\\serialisable.py:74\u001B[39m, in \u001B[36mSerialisable.from_tree\u001B[39m\u001B[34m(cls, node)\u001B[39m\n\u001B[32m 71\u001B[39m attrib[\u001B[33m\"\u001B[39m\u001B[33mattr_text\u001B[39m\u001B[33m\"\u001B[39m] = node.text\n\u001B[32m 73\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m el \u001B[38;5;129;01min\u001B[39;00m node:\n\u001B[32m---> \u001B[39m\u001B[32m74\u001B[39m tag = \u001B[43mlocalname\u001B[49m\u001B[43m(\u001B[49m\u001B[43mel\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 75\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m tag \u001B[38;5;129;01min\u001B[39;00m KEYWORDS:\n\u001B[32m 76\u001B[39m tag = \u001B[33m\"\u001B[39m\u001B[33m_\u001B[39m\u001B[33m\"\u001B[39m + tag\n", + "\u001B[36mFile \u001B[39m\u001B[32mD:\\Program Files\\anaconda3\\envs\\SaaS\\Lib\\site-packages\\openpyxl\\xml\\functions.py:81\u001B[39m, in \u001B[36mlocalname\u001B[39m\u001B[34m(node)\u001B[39m\n\u001B[32m 79\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[33m\"\u001B[39m\u001B[33mcomment\u001B[39m\u001B[33m\"\u001B[39m\n\u001B[32m 80\u001B[39m m = NS_REGEX.match(node.tag)\n\u001B[32m---> \u001B[39m\u001B[32m81\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mm\u001B[49m\u001B[43m.\u001B[49m\u001B[43mgroup\u001B[49m\u001B[43m(\u001B[49m\u001B[33;43m'\u001B[39;49m\u001B[33;43mlocalname\u001B[39;49m\u001B[33;43m'\u001B[39;49m\u001B[43m)\u001B[49m\n", + "\u001B[31mKeyboardInterrupt\u001B[39m: " ] } ], @@ -1528,8 +1516,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-08-01T08:12:57.996465Z", - "start_time": "2025-08-01T08:10:21.860850Z" + "end_time": "2026-02-26T02:48:25.972319100Z", + "start_time": "2026-02-26T02:34:28.428344700Z" } }, "cell_type": "code", @@ -1538,7 +1526,7 @@ "from api import API\n", "\n", "api_instance = API()\n", - "df = pd.read_excel(r\"C:\\Users\\Administrator.DESKTOP-7IC2USJ\\Downloads\\客户资料_20250801111301.xlsx\",sheet_name=\"id为空\")\n", + "df = pd.read_excel(r\"C:\\Users\\hp_z66\\Downloads\\客户资料_20260226092528.xlsx\",sheet_name=\"Sheet3\")\n", "for index, row in df.iterrows():\n", " data_id = row[\"data_id\"]\n", " payload = {\n", @@ -1549,733 +1537,7 @@ " api_instance.entry_data_delete(payload)" ], "id": "8a06c19850c522b3", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n", - "返回结果: {'status': 'success'}\n" - ] - } - ], + "outputs": [], "execution_count": 1 }, {