Skip to content
Back to skills

Tencent Survey Analysis

ASecurity

腾讯问卷——回收后的数据处理:导出 CSV 清洗、频数占比、量表均值、交叉表、开放题关键词,再写成调研报告。当用户说「腾讯问卷数据怎么分析」「问卷结果出报告」「做个交叉表」时使用。

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 13, 2026
ai-agentspythonbash

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned October 13, 2026

npx -y skills add po-et/workbuddy-skills --skill tencent-survey-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tencent Survey Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tencent Survey Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/po-et-tencent-survey-analysis/badge)](https://www.skillsdirectory.com/skills/po-et-tencent-survey-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tencent-survey-analysis
description: "腾讯问卷——回收后的数据处理:导出 CSV 清洗、频数占比、量表均值、交叉表、开放题关键词,再写成调研报告。当用户说「腾讯问卷数据怎么分析」「问卷结果出报告」「做个交叉表」时使用。"
author: Captain
version: 0.1.0
display_name: "腾讯问卷"
display_name_en: "Tencent Survey Analysis"
description_zh: "用腾讯问卷做调研后,把导出数据(CSV,或 Excel 另存的 CSV)清洗、统计并写成结论:Python 标准库脚本自动识别单选、多选、量表、开放题(认不出的列列出来请你确认),输出频数占比、量表均值、交叉表、开放题关键词粗筛;附发布前自查、样本量与回收率写法、报告模板。"
description_en: "Clean, tabulate and write up survey data exported from Tencent Survey: a standard-library script that detects single-choice, multi-choice, scale and open questions and outputs frequencies, scale means, cross-tabs and rough keywords, plus sample-size wording and a write-up template."
tags:
  - "腾讯问卷"
  - "问卷分析"
  - "问卷数据"
  - "调研报告"
  - "交叉表"
  - "满意度"
  - "NPS"
  - "survey analysis"
  - "Tencent Survey"
  - "CSV"
examples_zh:
  - "腾讯问卷导出的数据帮我分析一下,出个调研报告"
  - "问卷里不同年级的满意度,帮我做个交叉表"
  - "问卷开放题关键词怎么提炼,几百条回答看不过来"
examples_en:
  - "Analyze the CSV exported from Tencent Survey and draft a report"
  - "Make a cross-tab of grade by satisfaction from my survey data"
---

# 腾讯问卷

定位一句话:**回收之后的事——导出、清洗、统计、写结论;每个数字带 n,每个推断有边界。**

与已有技能「问卷设计」的分工:题目怎么问、选项怎么设计交给「问卷设计」;本技能侧重**回收后的数据处理与报告**,只附一份「为了之后好分析」的发布前自查。

## 何时使用

- 「腾讯问卷收完了,导出的数据帮我分析」
- 「做个身份 × 满意度的交叉表」
- 「开放题几百条回答,帮我找找大家在说什么」
- 「报告里回收率、样本量怎么写才不出错」
- 「问卷马上要发了,帮我看看回收后好不好分析」

不适用(遇到时这样处理):
- 设计题目、选项、问卷结构:交给「问卷设计」。
- 显著性检验、回归、因子分析等推断统计:说明本技能只做描述统计,建议用专业统计软件或请数据分析同事。
- 腾讯问卷本身怎么发布、怎么设置权限:指向腾讯问卷帮助中心,章节以帮助中心为准。

## 流程

1. **发布前自查**(可选):题号唯一、量表方向一致、多选标明、分群变量要问、测试答卷导出后先跑一遍脚本。8 条清单见 [references/prepublish-and-cleaning.md](references/prepublish-and-cleaning.md)。
2. **导出**(以腾讯问卷当前界面为准):在问卷的数据或统计相关页面找下载原始数据的入口;导出 Excel 的,另存为「CSV UTF-8」。官方说明见腾讯问卷帮助中心中与「数据下载」「导出」相关的章节。
3. **清洗 + 统计**:跑脚本,先看「列识别结果」和「需要你确认的列」,改对类型后再看结果。
4. **解读**:按解读规则把数字变成结论句;开放题人工归纳主题。
5. **写报告**:按「输出契约」的骨架写,附清洗记录与脚本输出。

**第 3 步 脚本**(路径相对本技能目录):

```bash
python3 scripts/survey_analyze.py data.csv
python3 scripts/survey_analyze.py data.csv --min-seconds 60 --invited 120 --cross Q1 Q5 --cross Q2 Q4
python3 scripts/survey_analyze.py data.csv --type "Q10 年龄=numeric" --format json -o result.json
```

列的自动识别(导出形态以腾讯问卷当前版本为准,认不出的列不会硬算):

| 类型 | 常见列形态 | 输出 |
|---|---|---|
| 单选 | 一列,取值是有限几个选项;只有 0/1 的列按选中 / 未选中 | 频数、占比(分母 = 该题作答人数) |
| 多选 | 一列里用 ┋ \| ; ; 、 , 分隔;或「题干-选项」相邻多列,单元格 0/1、选中、√ 或选项文字 | 每个选项的人数与占比(合计可超过 100%)、人均选几项、「其他」填写内容 |
| 量表 | 0–10 的整数;或「非常不满意 … 非常满意」等标签(按 1–5 换算) | 均值、标准差、中位数、前两档占比、完整分布;0–10 且题干含「推荐」时给 NPS |
| 开放题 | 长短不一的文字 | 2–4 字片段按提及人数排序的关键词粗筛、前 3 条示例回答 |
| 元信息 | 序号、提交时间、答题时长、IP 等 | 不统计 |
| 待确认 | 年龄、金额等数值,或判断不了的列 | 列进「需要你确认的列」,给出 `--type` 写法 |

清洗(记进报告):默认去掉完全相同的行;`--dedupe-by` 按身份去重;`--min-seconds` 去掉答题过快(阈值要有依据,没有就不过滤);直线作答默认只标记,`--drop-straightline` 才删除。编码自动尝试 UTF-8 与 GB18030,分隔符自动识别;`--cross` 的列名可以只写开头几个字(如 Q1),唯一匹配即可。同样的输入得到同样的输出。

**第 4 步 解读规则**(细则、结论句写法见 [references/writeup-template.md](references/writeup-template.md)):
- 每个百分比带 n,说清分母;多选占比不能相加。
- 量表同时看均值、前两档和最低两档;均值高低没有通用标准,和上次调研、和分群比。
- 交叉表看行百分比;行 n<5 不下结论,有效样本 n<30 只报人数;相关不等于因果。
- 开放题:通读全部回答,归纳 5–8 个主题,统计提及人数,挑代表性原话;关键词只是线索。

**样本量与回收率的说明方式**:
- 回收率 = 回收份数 ÷ 发放份数,只有定向发放才有;公开链接投放写「无法统计发放数,共回收 X 份」,不要编回收率。
- 有效率 = 有效份数 ÷ 回收份数,并写清剔除规则。
- 抽样误差只对随机抽样成立(p=50%、n=400 时约 ±4.9 个百分点);便利样本写「结论仅代表本次受访者」。

## 信息不全或出错时

| 情况 | 怎么处理 | 对用户说的话(模板) |
|---|---|---|
| 缺关键信息 | 只问 3 个:定向发放还是公开链接(发了多少份)、「答题过快」有没有依据、最想比较哪两类人;其余按默认(不算回收率、不过滤用时),报告里标 [待确认] | 「先确认三件事:发了多少份、多快算乱填、想比较哪两类人。」 |
| 输入不对:发来 .xlsx 或乱码 CSV | 脚本会提示;请用户另存为 CSV UTF-8,或加 `--encoding gb18030` | 「这是 Excel 文件,请另存为『CSV UTF-8』再发我。」 |
| 数据自相矛盾(「从未使用」却给功能打分) | 列出矛盾的答卷数,给两种处理:剔除这些答卷,或只在相关题里排除 | 「有 4 份答卷自称没用过却给功能打了分。①整份剔除;②只在功能题里排除。选哪种?」 |
| 有列识别不了 | 看「需要你确认的列」,按提示用 `--type` 指定后重跑 | 「『Q10 年龄』是数值,我按数值统计均值和中位数,可以吗?」 |
| 时间紧,只要最小版 | 最小版 = 样本说明一段 + 3 条核心结论(带 n)+ 1 张最关键的交叉表 | 「先给最小版:样本说明、三条结论、一张交叉表。」 |
| 超出范围:要显著性检验、因果结论 | 说明只做描述统计,建议专业人员;结论写「相关」不写「导致」 | 「这需要推断统计,我先把描述结果和局限写清楚。」 |
| 用户坚持删掉不利答卷或改数 | 不做;可以按事先写明的清洗规则剔除,并在报告里公开规则 | 「只能按写明的规则剔除,不能挑结果删;规则会写进报告。」 |

脚本退出码:

| 退出码 / 报错 | 原因 | 修正办法 |
|---|---|---|
| 0 | 成功 | 先看「需要你确认的列」 |
| 1「找不到列 / 找不到唯一的列」 | 列名写错或开头几个字不唯一 | 按提示写完整列名,或多写几个字 |
| 1「--type 类型只能是…」 | 类型写错 | 用 single / multi / scale / open / numeric / meta / skip |
| 1「交叉表只支持单选 / 多选 / 量表」 | 用了开放题或数值列 | 换列,或先用 `--type` 改类型 |
| 1「没找到答题时长列」 | 用了 `--min-seconds` 但没有时长列 | `--duration-col 列名`,或去掉该参数 |
| 2「这看起来是 Excel 文件 / 无法识别编码 / 写文件失败」 | 文件格式、编码或输出目录问题 | 另存为 CSV UTF-8;`--encoding gb18030`;换输出目录 |
| 130 | Ctrl+C 中断 | 重跑即可 |

## 输出契约

报告按这个顺序,缺哪块写「无」或 [待补],不跳号:
1. 标题 + 一行信息(时间、对象、有效样本 n、撰写人、日期)
2. 核心结论(≤3 条,每条带数据和 n)
3. 调研概况(目的、对象与渠道、时间、发放 / 回收 / 有效、回收率与有效率、清洗规则)
4. 主要发现(结论句 + 数据 + 图表建议)
5. 分群差异(交叉表)
6. 开放题反馈(主题、提及人数、代表性原话)
7. 建议与下一步
8. 局限
9. 附录(列识别结果、清洗记录、各题频数表)

完整模板见 [references/writeup-template.md](references/writeup-template.md)。占位符:用户没给的写 [待补];推断的写 [待确认];解读里的猜测写「推测」。

交付前自检(逐条判是/否):
- [ ] 每个百分比都写了 n,多选题注明「合计可超过 100%」。
- [ ] 回收率只在知道发放数时出现;清洗规则写进了概况。
- [ ] 「需要你确认的列」都已处理(改类型或确认跳过)。
- [ ] n<5 的分群没有被单独下结论;结论没有写成因果。
- [ ] 开放题主题是人工归纳的,原话已去掉可识别信息。
- [ ] 报告里所有数字都能在脚本输出里找到。

## 示例

> 示例对话,数据为构造样例。完整过程(数据、两次运行、真实输出、报告节选)见 [examples/satisfaction-survey.md](examples/satisfaction-survey.md)。

**用户**:记账 App 的用户调研收完了,腾讯问卷导出的数据在 survey.csv,帮我分析并写个报告。

**助手**:先确认三件事:①定向发放还是公开链接,发了多少份?②多快算乱填,有依据吗?③想重点比较哪两类人?

**用户**:定向发给 120 位用户;试填正常要 2 分钟以上,1 分钟以内算乱填;想看不同身份的满意度。

**助手**:运行 `python3 scripts/survey_analyze.py survey.csv --min-seconds 60 --invited 120 --cross Q1 Q5 --type "Q10 年龄=numeric"`,清洗后有效 30 份。报告(节选):

```
# 记账 App 用户调研报告
2026-09-20 ~ 2026-09-25|现有用户|有效样本 30|撰写人 [待补]|2026-09-26

## 一、核心结论
1. 整体满意度中等偏上:均值 3.80(1–5 分),66.7% 打 4 分及以上,13.3% 打 2 分,无人打 1 分(n=30)。
2. 「速度」是三个方面中最弱的一项:均值 3.30,前两档仅 40.0%;开放题中「加载」被 3 人提到(n=19)。
3. 最想要的新功能是「数据导出」:回答该题的 27 人中 55.6% 选择。

## 二、调研概况
- 样本:发放 120,回收 33,有效 30;回收率 27.5%,有效率 90.9%
- 清洗规则:去掉完全相同的行 1 份;答题时长低于 60 秒的 2 份(依据:试填正常用时 2 分钟以上);直线作答 2 份仅标记未删除

## 四、分群差异
- 学生的满意度均值(4.11,n=9)高于在职用户(3.73,n=15);「其他」「自由职业」各 3 人,不单独解读。样本较少,差异仅供参考。

## 七、局限
- 回收率 27.5%,愿意作答的用户可能更活跃,结论仅代表本次受访者。
```

## 常见问题(FAQ)

**问卷平台自带统计页,还需要这个吗?** 平台统计页适合看单题分布;清洗记录、交叉表、开放题归纳和一份带 n 与局限的报告,是本技能补的部分。

**导出的是 Excel 怎么办?** 用 Excel 或 WPS 另存为「CSV UTF-8」再跑;脚本读到 Excel 文件会直接提示。

**多选题导出成好几列怎么办?** 相邻、同题干、单元格是 0/1 或选项文字的列,脚本会自动合并成一道多选题;不想合并用 `--no-group`。

**样本只有 30 份,能写报告吗?** 能,但只报人数和占比、写明「仅供参考」,不做推断,分群比较要谨慎。

**满意度均值 3.8 算高还是低?** 没有通用标准;和上一次调研、和不同人群、和你们设定的目标比,并看分布是否两极分化。

**开放题关键词不准?** 关键词是机器粗切的线索,最终以人工通读归纳的主题为准。

**能帮我做显著性检验吗?** 本技能只做描述统计;需要检验时,建议用专业统计软件或请数据分析同事,并把本技能的清洗记录一起交给对方。

**和「问卷设计」有什么区别?** 那个管发布前的题目设计;本技能管回收后的数据处理与报告。

## 常见错误(反模式)

- 只报百分比不报 n → 读者不知道 60% 是 3 人还是 300 人 → 每个百分比都带 n。
- 把多选题各选项占比加起来 → 合计超过 100% 还当成分布 → 说明分母是作答人数。
- 公开链接投放却写回收率 → 数字是编的 → 写「无法统计发放数」。
- 用均值掩盖两极分化 → 3.0 可能是一半 1 分一半 5 分 → 同时报分布。
- 对 n=3 的分群下结论 → 偶然性太大 → n<5 不单独解读。
- 关键词频次直接当结论 → 片段会误切 → 人工归纳主题。
- 测试答卷没删 → 数据被污染 → 发布前记下测试答卷序号,清洗时剔除。
- 把相关写成因果 → 误导决策 → 写「与……相关」,因果要另行验证。

## 边界与不做什么

- 只处理用户提供的导出文件;不登录腾讯问卷账号,不抓取他人的问卷或答卷数据。
- 分析前删除或脱敏姓名、手机号、openid、IP 等个人信息;报告与引用原话里不出现可识别个人的信息。
- 不伪造答卷、不刷问卷、不按「结果好不好看」挑选或删除数据。
- 只做描述统计;推断统计结论交给专业人员。
- 腾讯问卷的界面、导出格式、功能以官方帮助中心与当前界面为准,本技能不编造。

Files in this skill

  • SKILL.md14.4 KB
  • examples/satisfaction-survey.md6.2 KB
  • references/prepublish-and-cleaning.md4.2 KB
  • references/writeup-template.md4.1 KB
  • scripts/survey_analyze.py38 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.