本次仅用2个工具,覆盖采集→中转→整理→基础可视化全流程:
先完成前端获客表单的搭建,注意提前埋好获客渠道标识字段:
这个步骤决定了后续能区分不同渠道的获客效果:
本次需要pandas(快速整理数据)、openpyxl(保存Excel):

pip install pandas openpyxl -t .
进入函数详情页的「函数代码」在线编辑页,删除所有默认代码,复制以下可直接运行的代码:
import json
import pandas as pd
import os
from datetime import datetime
腾讯云COS相关配置(提前新建一个免费COS桶,步骤见第四步)
COS_SECRET_ID = os.environ.get('COS_SECRET_ID', '')
COS_SECRET_KEY = os.environ.get('COS_SECRET_KEY', '')
COS_BUCKET = os.environ.get('COS_BUCKET', '')
COS_REGION = os.environ.get('COS_REGION', '')
本地临时文件路径(腾讯云函数临时目录是/tmp)
TMP_EXCEL_PATH = '/tmp/form_leads.xlsx'
COS文件路径
COS_FILE_KEY = 'form_leads/all_leads.xlsx'
def main_handler(event, context):
解析金数据Webhook推送的JSON数据
try:
webhook_data = json.loads(event['body'])
提取需要的表单字段(注意这里的字段名要和金数据表单的字段标识一致,金数据表单设置里可以查看)
lead_data = {
'提交时间': datetime.fromtimestamp(int(webhook_data['created_at'])).strftime('%Y-%m-%d %H:%M:%S'),
'姓名': webhook_data['data']['name'],
'手机号': webhook_data['data']['phone'],
'邮箱': webhook_data['data']['email'],
'需求描述': webhook_data['data']['need_desc'],
'获客渠道': webhook_data['data']['utm_source']
}
except Exception as e:
print(f"解析Webhook数据失败:{e}")
return {
'statusCode': 400,
'body': json.dumps({'error': '数据解析失败'})
}
1. 先从COS下载现有Excel(如果没有就创建空的)
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
from qcloud_cos.cos_exception import CosServiceError
初始化COS客户端
cos_config = CosConfig(Region=COS_REGION, SecretId=COS_SECRET_ID, SecretKey=COS_SECRET_KEY)
cos_client = CosS3Client(cos_config)
existing_df = pd.DataFrame()
try:
cos_client.download_file(
Bucket=COS_BUCKET,
Key=COS_FILE_KEY,
LocalFilePath=TMP_EXCEL_PATH
)
existing_df = pd.read_excel(TMP_EXCEL_PATH)
except CosServiceError as e:
if e.get_error_code() == 'NoSuchKey':
print("COS中没有现有Excel,将创建新文件")
else:
print(f"下载COS文件失败:{e}")
return {
'statusCode': 500,
'body': json.dumps({'error': '下载数据失败'})
}
2. 将新获客数据追加到现有数据
new_df = pd.DataFrame([lead_data])
combined_df = pd.concat([existing_df, new_df], ignore_index=True)
3. 保存合并后的Excel到临时目录
combined_df.to_excel(TMP_EXCEL_PATH, index=False)
4. 上传到COS
try:
cos_client.upload_file(
Bucket=COS_BUCKET,
Key=COS_FILE_KEY,
LocalFilePath=TMP_EXCEL_PATH
)
print("数据已成功上传到COS")
except Exception as e:
print(f"上传COS文件失败:{e}")
return {
'statusCode': 500,
'body': json.dumps({'error': '上传数据失败'})
}
return {
'statusCode': 200,
'body': json.dumps({'message': '数据处理成功'})
}
用来存储合并后的Excel获客数据:
用来接收金数据的Webhook推送:
用之前复制的金数据分享链接,加上?utm_source=测试渠道1后缀,在浏览器打开,填写并提交表单
等待1-2分钟后,进入腾讯云COS存储桶的「文件列表」,找到form_leads文件夹,点击all_leads.xlsx下载,查看是否有刚才的测试数据
下载下来的Excel可以直接用以下操作快速分析:
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图