Python批量查询德邦快递单号并更新Excel状态

本文介绍如何使用Python脚本,结合requestsopenpyxl库,实现批量查询德邦快递单号物流状态,并将结果更新至Excel表格。

**代码示例:**pythonimport requestsimport openpyxl

def query_deppon(): workbook_path = 'your_workbook_path.xlsx' # 替换为实际的工作簿路径 sheet_name = '发货记录表' # 替换为实际的工作表名称 # 获取要查询的单号列表 tracking_numbers = get_tracking_numbers(workbook_path, sheet_name) for tracking_number in tracking_numbers: # 构建查询URL query_url = f'https://api.deppon.com/openapi/business/trans/getTransInfo?trackingNo={tracking_number}&appId=sj133126259351&appKey=147369213.yY' # 发送GET请求 response = requests.get(query_url) if response.status_code == 200: result = response.json() # 解析查询结果,提取需要的信息 status = result['data']['status'] # 将查询结果写入工作表 update_status(workbook_path, sheet_name, tracking_number, status)

def get_tracking_numbers(workbook_path, sheet_name): # 打开工作簿 workbook = openpyxl.load_workbook(workbook_path) # 获取指定工作表 sheet = workbook[sheet_name] tracking_numbers = [] # 假设单号在第K列 for row in sheet.iter_rows(min_row=2, values_only=True): tracking_number = row[10] # 第11列,索引从0开始 if tracking_number: tracking_numbers.append(tracking_number) return tracking_numbers

def update_status(workbook_path, sheet_name, tracking_number, status): # 打开工作簿 workbook = openpyxl.load_workbook(workbook_path) # 获取指定工作表 sheet = workbook[sheet_name] # 假设要将查询结果写入第12列 for row in sheet.iter_rows(min_row=2, values_only=True): if row[10] == tracking_number: # 第11列,索引从0开始 # 找到对应的单号所在的行,更新查询结果 row[11] = status # 第12列,索引从0开始 break # 保存工作簿 workbook.save(workbook_path)

调用查询函数query_deppon()

代码说明:

  1. 导入requestsopenpyxl库。2. 定义query_deppon函数,实现以下功能: - 设置Excel文件路径和工作表名称。 - 调用get_tracking_numbers函数获取要查询的快递单号列表。 - 循环遍历单号列表,对每个单号: - 构建德邦快递查询API的URL。 - 使用requests.get发送GET请求。 - 判断请求是否成功,若成功则解析JSON响应结果,提取物流状态。 - 调用update_status函数将物流状态更新到Excel表格对应单元格。3. 定义get_tracking_numbers函数,从Excel表格中读取快递单号列表。4. 定义update_status函数,根据单号将物流状态写入Excel表格对应单元格。

使用方法:

  1. 将代码保存为Python文件(例如deppon_tracker.py)。2. 修改代码中的workbook_pathsheet_nameappIdappKey变量为实际值。3. 运行脚本: python deppon_tracker.py

注意:

  • 需要将代码中的占位符替换为实际值。- 需要安装requestsopenpyxl库: pip install requests openpyxl

希望这段代码可以帮助您快速实现德邦快递单号批量查询和Excel表格更新。

Python批量查询德邦快递单号并更新Excel状态

原文地址: https://www.cveoy.top/t/topic/C1y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录