WEIR

推特导出 Excel 和 CSV:自己的推文和公开账号(2026)

推特推文导出 CSV 和 Excel 有两条路:自己的推文申请 X 数据存档,用免费查看器转 CSV;公开账号用 Power Query 直接导入。附 19 位 ID 不丢位、中文不乱码的设置。


发布于 · 更新于 · 阅读约 7 分钟 · Read in English · 日本語で読む

封面图:19 位 ID 一位不少

把推特推文导出到 Excel 或 CSV,自己的推文用数据存档,其他公开账号用 Power Query 导入。

这篇写给想把 X(推特)推文放进表格、又不想写脚本的人。你会拿到两条路、保住 19 位 ID 的设置,和一段测过的查询。查询调用的 Weir 是我们做的 API。

在 Windows 版 Excel 里按第 3 步新建空白查询,粘贴这段,填上你的 Key:

let
    Key = "weir_live_paste_your_key_here",
    Body = Json.FromValue([fromUsers = {"msexcel"}, limit = 20]),
    Headers = [Authorization = "Bearer " & Key, #"Content-Type" = "application/json"],
    Response = Web.Contents("https://api.weirapp.io/v1/x/search", [Headers = Headers, Content = Body])
in
    Json.Document(Response)[data]
  1. 选一条路自己的存档,或用 API 读任意公开账号。
  2. 存档转成 CSV查看器在你的浏览器里读 ZIP。
  3. 按文本导入 CSV用“从文本/CSV”,把 id 设成文本。
  4. 粘贴查询空白查询调用 Weir 的搜索接口。
  5. 加载并刷新点“关闭 & 加载”,以后点“全部刷新”。

推特导出 Excel,选哪条路?

先看你要的是谁的推文。截至 2026 年 10 月,三条路是这样的:

方法 谁的推文 费用 Excel 版本
X 数据存档 + 我们的查看器 只有你自己的 免费 近几年的版本都行
Power Query + Weir 任意公开账号 每次调用 1 积分 + 每条 1 积分 Windows 版 2016 及以上
X 官方 API + 自己写代码 任意公开账号 每读一条 $0.005 都行,先存成 CSV

存档免费,但里面只有你自己的账号。

别人的推文要靠 API,而 Power Query 能在 Excel 里直接调用 API。想用 Python 存成 CSV,看批量下载某人全部推文的教程。

第 1 步:从 X 数据存档导出自己的推文

在 X 里依次进入“设置和隐私”→“账号”,在“数据和权限”下打开“你的 X 数据”(英文界面是 Your X data)。

用验证码确认身份后,点“请求数据”。X 帮助中心说,准备存档“可能需要几天时间”,好了会发邮件或推送通知。

存档是一个 ZIP 文件。X 说里面是 HTML 和 JSON 文件,没有现成的 CSV。

把 ZIP 拖进免费的推特存档查看器,点“下载 CSV”。文件只在你的浏览器里读取,不会上传。CSV 有 12 列,第一行是:

id,created_at,type,text,likes,reposts,reply_to_id,reply_to_user,lang,links,media,url

这个 CSV 开头带 BOM(字节顺序标记)。微软的说明是,带 BOM 的 UTF-8 CSV 能在 Excel 里直接正确打开,所以中文不会乱码。存档里的其他文件见推特数据存档怎么看。

第 2 步:把 CSV 导入 Excel,ID 设成文本

别直接双击 CSV。中文没问题,但 Excel 会把每个推文 ID 截成 15 位有效数字。

按微软的说明用 Power Query 导入,Windows 版 Excel 2016 及以上都行:

  1. 选择“数据”→“从文本/CSV”,选中文件,再点“转换数据”。
  2. 选中 id 和 reply_to_id 两列,在“转换”里把“数据类型”改成“文本”。
  3. 弹出“更改列类型”时,选“替换当前”那一项,再点“关闭 & 加载”。

Microsoft 365 版和 Excel 2024 还有一个设置,双击打开也能保住每一位。

依次点“文件”→“选项”→“数据”→“自动数据转换”,取消勾选“保留长数字的前 15 位数字,并在需要时以科学记数法显示”。微软说,关掉后 16 位以上的数字会存成文本,每一位都在。Mac 上在“Excel”→“首选项”→“编辑”。

第 3 步:把任意公开账号的推文导入 Excel

Power Query 能调用网页 API,不用存档也能读任意公开账号或一次搜索。

你需要 Windows 版 Excel 和一个免费的 Weir Key,每月 5,000 积分,不用绑卡。微软列出的 Mac 版 Power Query 数据源里没有 Web。

  1. 选择“数据”→“获取数据”→“从其他源”→“空白查询”。
  2. 点“视图”→“高级编辑器”,把里面的内容换成下面的查询。
  3. 填上你的 Key 和账号,点“完成”。
  4. Excel 问怎么连接时,选“匿名”。 微软的 Web 连接器文档说,用 Web.Contents 发 POST 请求只能匿名,而你的 Key 已经在请求头里。
let
    Key = "weir_live_paste_your_key_here",
    Body = [fromUsers = {"msexcel"}, query = "-filter:nativeretweets", limit = 20],
    MaxPages = 5,
    Ask = (cursor) => Json.Document(Web.Contents("https://api.weirapp.io/v1/x/search", [
        Headers = [Authorization = "Bearer " & Key, #"Content-Type" = "application/json"],
        Content = Json.FromValue(if cursor = null then Body else Record.AddField(Body, "cursor", cursor))])),
    Pages = List.Generate(() => [Page = Ask(null), N = 1], each [Page] <> null,
        each if [Page][meta][nextCursor] = null or [N] = MaxPages then [Page = null, N = [N]]
            else [Page = Ask([Page][meta][nextCursor]), N = [N] + 1], each [Page][data]),
    Rows = List.Transform(List.Combine(Pages), (p) => [id = p[id], createdAt = p[createdAt],
        likes = p[likeCount], reposts = p[retweetCount], views = p[viewCount], text = p[text], url = p[url]]),
    Posts = Table.TransformColumnTypes(Table.FromRecords(Rows), {{"id", type text}})
in
    Posts

不用“来自 Web”对话框,是因为微软列出的“高级”可选请求头里没有 Authorization。2024 年 12 月,微软问答社区也有人报告手填的这个头被丢掉,返回了 401。

第 4 步:把推文加载成表格,再设置刷新

点“关闭 & 加载”,每条推文就是一行。

查询一页页往下翻,游标为 null 或到 MaxPages 就停,这是 Weir 分页文档(英文)的建议。

createdAt 是 UTC 时间的文本,照样能按时间排序,换成北京时间要加 8 小时。

按话题导出时,删掉 fromUsers,把 query 改成 "数据透视表 -filter:nativeretweets"。加上 onlyOriginal = true 可以去掉回复。

没有 Excel,我们怎么测的这段查询

我们这里跑不了 Excel,所以 2026 年 10 月 22 日用两种办法测了它。

微软开源的 Power Query 解析器 4.0.0 版顺利解析了两段查询,故意写错的对照查询则报错。

再用 Python 写同样的逻辑,对着本地模拟服务器跑,服务器返回一次真实的 Weir 搜索。那次搜 @msexcel 得到 3 条推文,花了 4 积分:

id createdAt(UTC) 点赞 浏览
2111508184418664915 2026-10-17 17:22 5 476
2111493445500215355 2026-10-17 16:24 10 1,764
2111444294548763047 2026-10-17 13:08 52 23,939

前两条是回复。测试的结果:

  • 正常翻页调用了两次:第二页是空的,游标为 null。
  • 游标永远不为空时,第 5 次就停,这是 MaxPages 的上限。
  • 按数字存的 ID,最后 4 位都丢了。

在 Excel 里刷新推文要花多少钱?

Weir 每次调用收 1 积分,每条推文再收 1 积分,所以一整页 20 条推文是 21 积分。

每次刷新都会重新买一遍推文。Excel 能定时刷新,在“连接属性”的“使用状况”里勾选“刷新频率”就行:

一页 20 条推文,每月要用的积分
每天刷新一次630
每小时刷新一次15,120
每 15 分钟刷新一次60,480

每月 5,000 免费积分,够每天刷新一次。

积分包 $5 起,买的积分永不过期,详见价格页。

导入出错怎么办

  • 报错里有 401:Key 错了或过期了。Weir 的 Key 只显示一次,重新建一个。
  • 报错里有 402:积分用完了。充值,或者等下个月的免费积分。
  • ID 末尾变成 0:Power Query 自动加的类型转换步骤,把 id 改成了数字。删掉那一步。

什么时候不适合用 Weir

  • 只要你自己的推文。 存档加我们的查看器,完全免费。
  • 你用的是 Mac。 微软的 Mac 版 Power Query 没有 Web 数据源,这段查询在 Mac 上跑不了。
  • 必须和 X 签合同。 用 X 官方 API,截至 2026 年 10 月每读一条 $0.005。
  • 只看每条的单价。 TwitterAPI.io 标价每 1,000 条推文 $0.15,而且能发推。

Key 会存在工作簿里,所以只给它 read:x 权限并设过期时间,文件外传前先吊销。

Weir 只读公开数据,没有获得 X 的授权,访问方式可能变化。本文不构成法律建议。

常见问题

推特推文能免费导出到 Excel 吗?

能。自己的推文,用 X 数据存档和免费查看器存成 CSV。公开账号的推文,Weir 每月 5,000 免费积分在 Power Query 里能读约 238 整页,失败的调用不收费。

推文 ID 在 Excel 里为什么显示成 2.11E+18?

Excel 只保留 15 位有效数字,推文 ID 有 19 位。在 Power Query 里把 id 列设成文本,或者在“自动数据转换”里关掉 15 位那一项。已经存成 0 的数字没法恢复。

推文导出 CSV 后,用 Excel 打开中文乱码怎么办?

文件多半是不带 BOM 的 UTF-8。按微软的说明,用“数据”→“获取数据”→“从文件”→“从文本/CSV”导入,在预览窗口左上角的编码下拉框里选 65001: Unicode (UTF-8)。

能把别人的 Twitter 数据导出成 CSV 吗?

公开账号可以。X 数据存档只有你自己的账号,别人的推文要用 API,比如上面的 Power Query。受保护账号的推文只有获批的关注者能看,导不出来。

参考来源

2026 年 10 月 26 日核对;标 ※ 的沿用英文版 10 月 22 日的核对: