专栏导读
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 个人博客主页:请点击——> 个人的博客主页 求收藏
🏳️🌈 Github主页:请点击——> Github主页 求Star⭐
🏳️🌈 知乎主页:请点击——> 知乎主页 求关注
🏳️🌈 CSDN博客主页:请点击——> CSDN的博客主页 求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏 求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏 求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏 求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
第30节:从分析师到专家——数据分析思维、业务闭环与报告撰写
本节学习目标
通过本节学习,你将能够:
- 建立系统化的数据分析思维框架
- 理解并构建业务指标体系
- 掌握专业数据分析报告的撰写技巧
- 了解数据分析师的职业发展路径
- 回顾整个课程的知识体系,形成完整的知识图谱
- 制定个人持续学习与能力提升计划
为什么学这个?
恭喜你走到了课程的最后一节!在前面的29节课中,你学会了:
- 用Pandas处理数据
- 用Matplotlib和Seaborn画图
- 用SQL查询数据库
- 用爬虫获取数据
- 用机器学习做预测
- 用自动化脚本生成报告
- 用模块化思维组织代码
这些是"硬技能"——你知道怎么操作工具。但现在我们要聊一个更重要的话题:什么时候用这些工具?用来解决什么问题?怎么让分析结果产生真正的业务价值?
这就是"软技能"——分析思维。
打个比方:
- 硬技能是"你会用什么武器"(刀、枪、弓箭)
- 软技能是"你知道什么时候用什么武器、怎么打赢这场仗"
一个只会写代码但不懂业务的数据分析师,就像一个只会背菜谱但不懂食客的厨师——菜可能做得不错,但不一定能让人满意。
本节不是教新的代码,而是教你如何成为一个真正有价值的数据分析师。
核心知识点讲解
一、数据分析思维框架
1.1 什么是数据分析思维?
数据分析思维不是某个具体的技巧,而是一种系统化的思考方式。它回答三个核心问题:
- 为什么分析?(目的)——解决什么业务问题?
- 分析什么?(范围)——用什么数据、哪些指标?
- 怎么分析?(方法)——用什么方法、什么工具?
1.2 5W2H分析法
| 维度 | 问题 | 示例 |
|---|---|---|
| Why | 为什么要做这个分析? | 因为最近用户流失率上升 |
| What | 要分析什么? | 流失用户的特征和行为模式 |
| Who | 谁是目标用户? | 注册超过30天但未复购的用户 |
| When | 什么时间段的数据? | 过去3个月 |
| Where | 在什么场景下? | 移动App端 |
| How | 用什么方法分析? | 漏斗分析 + RFM模型 + 逻辑回归 |
| How Much | 投入多少资源? | 2天分析时间,1份报告 |
1.3 分析思维的四个层次
描述性分析 (发生了什么?)
↓
诊断性分析 (为什么发生?)
↓
预测性分析 (将来会发生什么?)
↓
指导性分析 (我们应该怎么做?)
描述性分析:上个月销售额下降了10%。
诊断性分析:下降主要是因为A产品线出了问题,贡献了70%的下降。
预测性分析:如果不采取措施,下个月可能继续下降5-8%。
指导性分析:建议立即优化A产品的详情页,预计可以挽回6%的下降。
大多数新手只做到第一层,优秀的分析师能做到第四层。
1.4 常见思维模型
# 思维模型1:对比思维
# 没有对比就没有分析。任何数据脱离比较都是没有意义的。
def compare_analysis(current, previous, baseline=None):
"""对比分析函数"""
results = {}
results["环比变化"] = (current - previous) / previous * 100
results["绝对变化"] = current - previous
if baseline:
results["与基线差异"] = (current - baseline) / baseline * 100
return results
# 示例
print("=== 对比分析示例 ===")
print(compare_analysis(
current=520, # 本月销售额
previous=480, # 上月销售额
baseline=500 # 目标值
))
# 思维模型2:细分思维(下钻分析)
# 总量看不出的问题,细分后往往一目了然
def segment_analysis(df, group_col, metric_col):
"""分组细分分析"""
summary = df.groupby(group_col).agg(
total=(metric_col, "sum"),
average=(metric_col, "mean"),
count=(metric_col, "count"),
max_val=(metric_col, "max"),
min_val=(metric_col, "min")
).sort_values("total", ascending=False)
summary["占比"] = summary["total"] / summary["total"].sum() * 100
return summary
# 示例数据
sales = pd.DataFrame({
"区域": ["华东", "华南", "华北", "华西", "华中", "华东", "华南", "华北"],
"销售额": [120, 95, 80, 45, 70, 110, 100, 75],
"产品": ["A", "A", "B", "B", "A", "B", "A", "B"]
})
print("\n=== 区域细分分析 ===")
print(segment_analysis(sales, "区域", "销售额"))
# 思维模型3:趋势思维
# 孤立的数据没有意义,连成线才能看出趋势
def trend_analysis(values, labels=None):
"""趋势分析"""
if labels is None:
labels = [f"第{i+1}期" for i in range(len(values))]
diffs = np.diff(values)
growth_rates = np.diff(values) / values[:-1] * 100
return pd.DataFrame({
"期间": labels[1:],
"数值": values[1:],
"环比增长": diffs,
"增长率(%)": growth_rates.round(2)
})
monthly = [420, 450, 480, 460, 510, 530, 490, 520]
print("\n=== 月度趋势分析 ===")
print(trend_analysis(monthly, ["1月","2月","3月","4月","5月","6月","7月","8月"]))
# 思维模型4:相关思维
# A和B一起变化,它们之间有关系吗?
def correlation_analysis(df, col1, col2):
"""相关性分析"""
corr = df[col1].corr(df[col2])
print(f"{col1} 与 {col2} 的相关系数: {corr:.3f}")
if abs(corr) > 0.7:
print(" -> 强相关")
elif abs(corr) > 0.4:
print(" -> 中等相关")
else:
print(" -> 弱相关或无相关")
return corr
# 示例
np.random.seed(42)
n = 50
df_corr = pd.DataFrame({
"广告投入": np.random.uniform(10, 100, n),
"销售额": np.random.uniform(100, 500, n)
})
# 制造相关性
df_corr["销售额"] = df_corr["广告投入"] * 3 + np.random.normal(100, 20, n)
print("\n=== 相关性分析 ===")
correlation_analysis(df_corr, "广告投入", "销售额")
二、业务指标体系
2.1 什么是指标体系?
指标体系不是"越多越好",而是"用最少、最核心的指标,全面描述业务健康度"。
就像体检报告:不是测100个项目就叫全面,而是要覆盖"身高体重、血压、血糖、血脂"这几个关键维度。
2.2 通用指标框架(OSM模型)
| 层次 | 含义 | 示例(电商) |
|---|---|---|
| O - Objective | 业务目标 | 提升季度销售额 |
| S - Strategy | 达成策略 | 提高转化率、增加复购 |
| M - Measurement | 衡量指标 | 转化率、复购率、客单价 |
2.3 电商业务指标体系
# 构建电商业务指标体系
# 用户维度
user_metrics = {
"拉新": ["新增用户数", "获客成本(CAC)", "注册转化率"],
"活跃": ["DAU/MAU", "人均使用时长", "人均访问次数"],
"留存": ["次日留存率", "7日留存率", "30日留存率"],
"转化": ["浏览-加购率", "加购-下单率", "下单-付款率"],
"价值": ["客单价", "LTV(用户生命周期价值)", "RFM评分"]
}
# 商品维度
product_metrics = {
"供应": ["SKU数量", "缺货率", "上新频率"],
"销售": ["销售额", "销量", "动销率"],
"效率": ["库存周转天数", "售罄率", "滞销占比"],
"质量": ["退货率", "好评率", "投诉率"]
}
# 渠道维度
channel_metrics = {
"流量": ["各渠道UV", "流量占比", "流量成本"],
"质量": ["跳出率", "平均停留时长", "页面访问深度"],
"转化": ["渠道转化率", "渠道ROI", "获客成本"]
}
print("=== 电商业务指标体系 ===")
print("\n用户维度:")
for category, metrics in user_metrics.items():
print(f" {category}: {', '.join(metrics)}")
print("\n商品维度:")
for category, metrics in product_metrics.items():
print(f" {category}: {', '.join(metrics)}")
print("\n渠道维度:")
for category, metrics in channel_metrics.items():
print(f" {category}: {', '.join(metrics)}")
2.4 指标之间的关联
# 理解指标之间的数学关系
# 电商核心公式:
# 销售额 = 流量 × 转化率 × 客单价
def revenue_decomposition(traffic, conversion_rate, avg_order_value):
"""销售额分解"""
revenue = traffic * conversion_rate * avg_order_value
return {
"流量": traffic,
"转化率": conversion_rate,
"客单价": avg_order_value,
"销售额": revenue
}
# 示例
base = revenue_decomposition(10000, 0.05, 200)
print("\n=== 基准场景 ===")
for k, v in base.items():
print(f" {k}: {v}")
# 场景对比:流量翻倍
scenario_a = revenue_decomposition(20000, 0.05, 200)
# 场景对比:转化率翻倍
scenario_b = revenue_decomposition(10000, 0.10, 200)
# 场景对比:客单价翻倍
scenario_c = revenue_decomposition(10000, 0.05, 400)
print("\n=== 不同策略对销售额的影响 ===")
print(f"基准: 销售额 = {base['销售额']:,.0f}")
print(f"流量翻倍: 销售额 = {scenario_a['销售额']:,.0f} (增加 {scenario_a['销售额']/base['销售额']*100 - 100:.0f}%)")
print(f"转化翻倍: 销售额 = {scenario_b['销售额']:,.0f} (增加 {scenario_b['销售额']/base['销售额']*100 - 100:.0f}%)")
print(f"客单翻倍: 销售额 = {scenario_c['销售额']:,.0f} (增加 {scenario_c['销售额']/base['销售额']*100 - 100:.0f}%)")
# 注意:虽然数学上结果一样,但实际业务中,
# 提升流量(打广告)和提升转化(优化体验)的成本完全不同!
2.5 北极星指标
北极星指标(North Star Metric)是业务中唯一最重要的那个指标,它应该同时满足:
- 反映用户从产品中获得了核心价值
- 与公司的长期成功直接相关
- 可被团队理解并影响
| 公司 | 北极星指标 | 为什么 |
|---|---|---|
| 亚马逊 | 年度活跃买家数 | 买家越多,对卖家越有吸引力 |
| 微信 | 日活跃用户数 | 用户每天都用微信才有价值 |
| 滴滴 | 每周完成的订单数 | 反映供需两端的活跃度 |
| 知乎 | 每周产生的高质量回答数 | 内容是社区的核心资产 |
三、数据分析报告撰写技巧
3.1 好报告的三个标准
- 准确性:数据正确、逻辑严密、结论有据可依
- 可读性:结构清晰、图文并茂、非专业的人也能看懂
- 行动性:不仅仅是描述,要有明确的建议和行动项
3.2 报告的标准结构
一、执行摘要 (Executive Summary) —— 1页,给领导看的
二、分析背景与目的 —— 为什么要做这个分析
三、分析方法与数据来源 —— 怎么做的
四、核心发现 —— 发现了什么(重点)
五、深入分析 —— 详细的分析过程
六、结论与建议 —— 应该怎么做
七、附录 —— 补充材料
3.3 报告撰写实战
# 自动生成报告内容的框架
# 实际工作中,你可以用这个框架来组织你的思路
class ReportWriter:
"""分析报告撰写辅助类"""
def __init__(self, title, audience="管理层"):
self.title = title
self.audience = audience
self.sections = {}
def add_executive_summary(self, summary: str):
"""执行摘要(最重要的部分)"""
self.sections["执行摘要"] = {
"content": summary,
"priority": 1,
"tip": "用3-5句话概括核心发现和建议,领导通常只看这一页"
}
def add_background(self, problem: str, objective: str):
"""分析背景"""
self.sections["分析背景"] = {
"problem": problem,
"objective": objective,
"tip": "说明业务痛点和分析目标,让读者理解为什么要做这个分析"
}
def add_findings(self, findings: list):
"""核心发现"""
self.sections["核心发现"] = {
"items": findings,
"tip": "每个发现配合图表,用数据说话,避免主观判断"
}
def add_recommendations(self, recommendations: list):
"""建议与行动项"""
self.sections["建议与行动项"] = {
"items": recommendations,
"tip": "建议要具体、可执行、有优先级"
}
def generate_outline(self):
"""生成报告大纲"""
print(f"\n{'='*60}")
print(f"报告: {self.title}")
print(f"目标受众: {self.audience}")
print(f"{'='*60}")
for section_name, content in self.sections.items():
print(f"\n【{section_name}】")
if "content" in content:
print(f" {content['content']}")
if "problem" in content:
print(f" 业务痛点: {content['problem']}")
print(f" 分析目标: {content['objective']}")
if "items" in content:
for item in content["items"]:
print(f" - {item}")
if "tip" in content:
print(f" [撰写提示] {content['tip']}")
# 使用示例
report = ReportWriter("2024年Q1用户流失分析报告", "业务负责人")
report.add_executive_summary(
"Q1用户流失率环比上升5个百分点,主要由注册30-60天的新用户驱动。"
"分析发现,新用户在首次购买后7天内未收到客服关怀是主因。"
"建议在用户首次购买后3天内推送个性化推荐和优惠券,预计可降低流失率3个百分点。"
)
report.add_background(
problem="Q1活跃用户数环比下降8%,其中新用户流失是主要因素",
objective="分析新用户流失原因,找到可执行的改善方案"
)
report.add_findings([
"发现1:注册30-60天的用户流失率从15%上升到20%,贡献了总流失量的65%",
"发现2:首次购买后7天内收到客服消息的用户,复购率比未收到的高40%",
"发现3:使用过优惠券后再次购买的用户占比为55%,未使用过的仅为18%",
"发现4:移动端新用户的7日留存比PC端低12个百分点,移动端体验存在优化空间"
])
report.add_recommendations([
"【高优先级】建立新用户首次购买后的自动化关怀流程:购买后1/3/7天推送消息",
"【高优先级】针对注册30-60天的用户发放专属优惠券,挽回流失",
"【中优先级】优化移动端新用户引导流程,减少使用障碍",
"【低优先级】探索新用户社交分享激励机制,利用裂变降低获客成本"
])
report.generate_outline()
3.4 可视化最佳实践
# 报告中的图表选择指南
# 不同的分析目的,适合不同的图表类型
chart_guide = {
"对比大小": "柱状图、条形图",
"看趋势变化": "折线图",
"看占比关系": "饼图(不超过5个类别)、堆叠柱状图",
"看分布情况": "直方图、箱线图",
"看相关性": "散点图",
"看地理分布": "地图",
"看流程转化": "漏斗图",
"看时间对比": "分组柱状图、面积图"
}
print("=== 图表选择指南 ===")
for purpose, chart_type in chart_guide.items():
print(f" {purpose} -> {chart_type}")
# 常见图表错误
print("\n=== 常见图表错误 ===")
mistakes = [
"错误1:用饼图展示10个以上的类别(人类眼睛分辨不了那么多扇区)",
"错误2:双Y轴图让两个不相关的指标产生虚假关联",
"错误3:3D饼图/3D柱状图扭曲了数据的真实比例",
"错误4:坐标轴不从0开始,夸大了数据差异",
"错误5:颜色过多或使用刺眼的颜色,分散注意力",
"错误6:图表没有标题或坐标轴标签,读者不知道看的是什么"
]
for m in mistakes:
print(f" {m}")
四、职业发展建议
4.1 数据分析师的能力模型
┌─────────────┐
│ 业务理解力 │ ← 最高层:懂业务、懂行业
└──────┬──────┘
│
┌────────────┼────────────┐
│ 分析思维 │ 沟通表达力 │ ← 中间层:会思考、会表达
└──────┬──────┴──────┬─────┘
│ │
┌────────────┼─────────────┼────────────┐
│ 统计学基础 │ 编程能力 │ 数据可视化 │ ← 基础层:基本功
└────────────┴─────────────┴────────────┘
4.2 职业发展路径
| 阶段 | 角色 | 核心能力 | 关键产出 |
|---|---|---|---|
| 0-1年 | 数据分析专员 | 工具使用、数据处理 | 数据报表、基础分析 |
| 1-3年 | 数据分析师 | 分析方法、业务理解 | 分析报告、策略建议 |
| 3-5年 | 高级分析师/分析师 | 复杂分析、项目管理 | 分析框架、驱动决策 |
| 5年+ | 分析专家/管理者 | 战略思维、团队管理 | 分析体系、团队建设 |
4.3 持续学习路线图
# 数据分析持续学习路线图
learning_roadmap = {
"Python数据分析": {
"入门": ["Pandas基础", "Matplotlib画图", "数据清洗"],
"进阶": ["高级Pandas", "特征工程", "性能优化"],
"专家": ["自定义Pipeline", "大数据处理", "分布式计算"]
},
"统计学": {
"入门": ["描述统计", "概率基础", "假设检验"],
"进阶": ["回归分析", "方差分析", "时间序列"],
"专家": ["贝叶斯统计", "因果推断", "实验设计(A/B测试)"]
},
"机器学习": {
"入门": ["线性回归", "决策树", "模型评估"],
"进阶": ["随机森林", "梯度提升", "聚类分析"],
"专家": ["深度学习", "NLP", "推荐系统"]
},
"业务分析": {
"入门": ["指标体系", "漏斗分析", " cohort分析"],
"进阶": ["用户画像", "归因分析", "定价分析"],
"专家": ["商业策略", "增长黑客", "数据产品"]
}
}
print("=== 数据分析师持续学习路线图 ===")
for domain, levels in learning_roadmap.items():
print(f"\n{domain}:")
for level, topics in levels.items():
print(f" {level}: {', '.join(topics)}")
4.4 实用建议
advice_list = [
"1. 不要只学工具,更要理解业务。知道怎么用SQL不如知道该查什么数据。",
"2. 多做项目。分析能力是在实际项目中练出来的,不是在教程里看出来的。",
"3. 学会讲故事。分析结果再好,讲不出来等于没有。练习用数据讲故事。",
"4. 关注行业趋势。关注数据分析领域的新技术、新工具、新方法。",
"5. 建立个人作品集。把你做的分析项目整理成文档或博客,这是最好的简历。",
"6. 学会和不同角色沟通。给领导看结果,给开发看逻辑,给运营看建议。",
"7. 保持好奇心。每一个数据异常背后,都可能藏着一个有价值的发现。",
"8. 学会说'我不知道'。数据分析师的自信不在于'什么都知道',而在于'知道怎么找到答案'。"
]
print("=== 给数据分析师的8条建议 ===")
for advice in advice_list:
print(f" {advice}")
五、课程知识回顾
5.1 30天课程知识图谱
第一阶段(第1-7天):Python与Pandas基础
├── Python基础语法
├── Pandas数据读取与查看
├── 数据筛选与排序
├── 数据清洗与转换
├── 数据分组与聚合
├── 数据合并与连接
└── 时间序列处理
第二阶段(第8-14天):数据可视化
├── Matplotlib基础
├── 常用图表类型
├── Seaborn统计可视化
├── 高级图表(热力图、小提琴图等)
├── 交互式可视化
├── 图表美化与定制
└── 可视化最佳实践
第三阶段(第15-23天):进阶技能
├── SQL基础与进阶
├── 数据库操作
├── 统计分析与假设检验
├── 探索性数据分析(EDA)
├── A/B测试
├── 文本数据分析
└── 地理数据分析
第四阶段(第24-30天):实战与进阶
├── 电商用户行为分析(漏斗、路径、RFM)
├── 金融股票回测(收益率、波动率、策略)
├── 自动化报告(PPT/PDF生成)
├── 爬虫与分析联动(数据获取+看板)
├── 机器学习入门(回归、分类、评估)
├── 可复用的代码设计(OOP、Pipeline、日志)
└── 数据分析思维与报告撰写(本节内容)
5.2 核心技能清单
# 请对照检查,你已经掌握了多少
skills_checklist = {
"数据处理": [
"Pandas数据读取与探索",
"数据清洗(缺失值、重复值、异常值)",
"数据转换(类型转换、字符串处理)",
"数据分组聚合(groupby)",
"数据合并(merge、concat)",
"时间序列处理"
],
"数据可视化": [
"Matplotlib绘制各类图表",
"Seaborn统计图表",
"图表美化和定制",
"选择合适的图表类型"
],
"分析方法": [
"描述统计分析",
"漏斗分析",
RFM模型",
"时间序列分析",
"A/B测试",
"相关性分析"
],
"进阶技能": [
"SQL数据查询",
"数据爬虫",
"机器学习基础",
"自动化脚本",
"报告自动生成",
"模块化代码设计"
],
"软技能": [
"分析思维框架",
"业务指标体系",
"报告撰写能力",
"数据讲故事",
"跨部门沟通"
]
}
print("=== 数据分析核心技能清单 ===")
total = 0
for category, skills in skills_checklist.items():
print(f"\n【{category}】")
for i, skill in enumerate(skills, 1):
print(f" [{i}] {skill}")
total += 1
print(f"\n共计 {total} 项核心技能")
print("建议:定期回顾此清单,标记你已经掌握的技能,找到需要加强的方向")
实战练习
练习1:撰写一份迷你分析报告
题目: 根据以下业务数据,按照本节介绍的报告结构,撰写一份简短的分析报告(至少包含执行摘要、核心发现和建议)。
# 练习数据
business_data = {
"总销售额": "Q1: 1500万, Q2: 1350万, Q3: 1200万",
"活跃用户": "Q1: 50万, Q2: 48万, Q3: 42万",
"客单价": "Q1: 180元, Q2: 175元, Q3: 168元",
"转化率": "Q1: 4.5%, Q2: 4.2%, Q3: 3.8%",
"新发现": "移动端用户占比从60%上升到72%,但移动端转化率低于PC端"
}
# 参考答案:报告框架
print("=" * 60)
print("业务趋势分析报告(示例框架)")
print("=" * 60)
print("\n【执行摘要】")
print("近三个季度,公司核心指标(销售额、用户数、转化率)呈持续下降趋势。")
print("销售额从Q1的1500万降至Q3的1200万(-20%)。")
print("用户增长放缓且移动端体验问题凸显,建议立即优化移动端购物流程。")
print("\n【核心发现】")
print("1. 连续三个季度销售额下滑,环比降幅分别为-10%和-11%,下滑加速")
print("2. 活跃用户从50万降至42万(-16%),用户流失值得关注")
print("3. 客单价和转化率同步下降,说明不仅买的人少了,单次消费也在减少")
print("4. 移动端用户占比已达72%但转化率低于PC端,移动端体验是瓶颈")
print("\n【建议】")
print("1. [紧急] 全面审查移动端购物流程,找出转化流失的关键环节")
print("2. [重要] 启动用户召回计划,针对流失用户推送个性化优惠")
print("3. [持续] 优化商品推荐算法,提升客单价和转化率")
print("4. [长期] 建立月度数据监控体系,及时发现趋势变化并预警")
本节总结
这是整个30天课程的最后一节,我们主要学习了:
- 数据分析思维:5W2H分析法、四个分析层次(描述性→诊断性→预测性→指导性)、四种常见思维模型(对比、细分、趋势、相关)
- 业务指标体系:理解了OSM模型、北极星指标、以及指标之间的关联关系。记住:销售额 = 流量 × 转化率 × 客单价
- 报告撰写技巧:掌握了标准报告结构(执行摘要→背景→发现→建议),以及图表选择的最佳实践
- 职业发展路径:了解了数据分析师的能力模型、职业发展阶段和持续学习路线图
- 知识回顾:对照30天的知识图谱和技能清单,检视自己的学习成果
送给你的最后一段话:
数据分析是一门"学了永远不亏"的技能。无论你将来做什么,能从数据中提取信息、用事实支撑决策的能力,都会让你在职场中更加出色。
记住:
- 工具会变,思维不会变
- 数据会过时,分析能力不会过时
- 代码会淘汰,解决问题的能力永远不会淘汰
现在,你已经拥有了一个数据分析师所需要的基本工具箱。接下来,去做项目、去实践、去犯错、去成长。
祝你在数据分析的道路上,越走越远!
课程结束
感谢你完成了30天数据分析入门课程的所有内容。
如果你有任何问题或建议,欢迎随时交流。数据分析的世界才刚刚向你敞开大门,更多的精彩内容,等待着你在实践中去发现和创造。
加油!
结尾
希望对初学者有帮助;致力于办公自动化的小小程序员一枚
希望能得到大家的【❤️一个免费关注❤️】感谢!
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏
7613

被折叠的 条评论
为什么被折叠?



