ツイートをエクセルに出力する方法 2026:CSV と Power Query
ツイートをエクセルに出力する 2 つの方法。自分のポストは X のアーカイブを CSV に、公開アカウントは Power Query で読み込み、19 桁の ID も文字化けも防ぎます。
Tarun Khatri
公開 · 更新 · 約 7 分で読めます · Read in English · 阅读中文版
X(旧 Twitter)のポストを CSV や Excel に書き出すには、自分の分はアーカイブ、ほかの公開アカウントは Power Query を使います。
スクリプトなしでポスト(ツイート)を表にしたい人向けに、2 つの手順と 19 桁の ID を守る設定をまとめました。クエリが呼ぶ API は、私たちが運営する Weir です。
Windows の Excel なら、空のクエリにこれを貼ってキーを入れます。
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]
- 方法を選ぶ自分のアーカイブか、API でほかの公開アカウントか。
- アーカイブを CSV にビューアがブラウザの中で ZIP を読みます。
- ID を文字列で読み込む[テキスト/CSV から]で id をテキストにします。
- クエリを貼る空のクエリから Weir の検索を呼びます。
- 読み込んで更新[閉じて読み込む]と[すべて更新]です。
ツイートをエクセルに出力する方法はどれ?
2026 年 10 月時点の 3 つの方法から、だれのポストが要るかで選びます。
| 方法 | 対象 | 費用 | Excel |
|---|---|---|---|
| X のアーカイブ + ビューア | 自分のポストだけ | 無料 | 最近の版ならどれでも |
| Power Query + Weir | 公開アカウント | 1 回 1 + 1 ポスト 1 クレジット | Windows 版 2016 以降 |
| X 公式 API + 自作コード | 公開アカウント | 1 ポスト $0.005 | CSV を経由 |
アーカイブは無料でも、中身は自分の分だけです。Python で CSV にするなら、ユーザーの全ポストを CSV に出力する方法を使います。
ステップ 1:自分のツイートをアーカイブから CSV に出力する
X のアプリで[設定とプライバシー]→[アカウント]と進み、[データと許可]の[Xデータ]を選びます。コードで本人確認をして、データをリクエストします。
X のヘルプセンターによると、準備には数日かかる場合があります。届く ZIP の中身は HTML と JSON で、CSV は入っていません。
ZIP を無料の Twitter アーカイブビューアに入れ、[CSV をダウンロード]を押します。ファイルはアップロードされません。
id,created_at,type,text,likes,reposts,reply_to_id,reply_to_user,lang,links,media,url
CSV の先頭には BOM(バイト順マーク)が付いています。Microsoft によると、BOM 付きの UTF-8 は Excel でふつうに開けるので、日本語も文字化けしません。
ステップ 2:ID を文字列にして CSV を Excel に読み込む
ダブルクリックで開くと ID が丸められるので、Windows の Excel 2016 以降なら Power Query で読み込みます。
- **[データ]→[テキスト/CSV から]**でファイルを選び、[データの変換]を押します。
idとreply_to_idの列を選び、[ホーム]→[変換]→[データ型]→[テキスト]にします。- 確認では今の手順を置き換えるほうを選び、[閉じて読み込む]を押します。
Microsoft 365 と Excel 2024 には、ダブルクリックでも全桁を残す設定があります。[ファイル]→[オプション]→[データ]→[自動データ変換]で、「長い数値の最初の 15 桁を保持し…」を外します。Mac では[Excel]→[環境設定]→[編集]です。
ステップ 3:公開アカウントのツイートを Excel に取り込む
Power Query は Web の API を呼べるので、公開アカウントや検索をそのまま読み込めます。
要るのは Windows 版の Excel と、無料の Weir のキー(英語)です。
Microsoft の一覧では、Mac 版の Power Query に Web のデータ ソースがありません。
- **[データ]→[データの取得]→[その他のソースから]→[空のクエリ]**を選びます。
- **[表示]→[詳細エディター]を開き、**中身を下のクエリに置き換えます。
- キーとアカウントを書き換えて、[完了]を押します。
- 接続方法は[匿名]を選びます。 Microsoft によると Web.Contents の POST は匿名でしか送れず、キーはヘッダーに入っています。
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 から]の画面は使いません。Microsoft の一覧では、[詳細設定]で選べるヘッダーに Authorization がないからです。2024 年 12 月の Microsoft Q&A には、ヘッダーが外れて 401 になった報告もあります。
ステップ 4:ポストを表に読み込み、更新する
[ホーム]→[閉じて読み込む]で、1 ポストが 1 行になります。
Askが検索を 1 回送ります。 2 ページ目からはRecord.AddFieldでカーソルを足します。List.GenerateはnullのカーソルかMaxPagesで止まります。 Weir のページングの説明(英語)のとおりです。type textが ID の全桁を残します。
createdAt は UTC の文字列で、日本時間はその 9 時間後です。
話題で探すなら fromUsers を消し、query を "ピボットテーブル -filter:nativeretweets" にします。onlyOriginal = true を足すと返信を除け、[データ]→[すべて更新]で読み直せます。
Excel なしで、このクエリをどう試したか
私たちの環境には Excel がないので、2026 年 10 月 22 日に 2 つの方法で確かめました。Microsoft の Power Query パーサー 4.0.0 は、2 つのクエリをエラーなく解析しました。わざと壊したクエリは失敗しました。
次に同じ処理を 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 |
上の 2 件は返信で、わかったことは 3 つです。
- ふつうは 2 回の呼び出しで終わります。 2 ページ目は空で、カーソルは null でした。
- 終わらないカーソルも 5 回で止まりました。
MaxPagesの上限です。 - 数値で保存した ID は、最後の 4 桁を失いました。
ツイートを Excel で更新すると、いくらかかる?
Weir は呼び出し 1 回とポスト 1 件に 1 クレジットずつで、20 ポストのページは 21 クレジットです。更新のたびにポストを買い直すので、月の量は[接続のプロパティ]の[定期的に更新する]の間隔で決まります。
1 日 1 回なら、毎月の無料の 5,000 クレジットに収まります。パックは $5 からで、買ったクレジットに期限はありません。詳しくは料金ページにあります。
読み込めないときは
- 401 のエラー:キーが違うか期限切れです。キーは作ったときに 1 回しか表示されないので、作り直します。
- 402 のエラー:クレジット切れです。買い足すか、翌月の無料分を待ちます。
- ID の末尾が 0 になる:自動で付いた型の変更の手順が、
idを数値にしています。その手順を消します。 - 日本語が文字化けする:BOM のない CSV です。[テキスト/CSV から]で、文字コードに UTF-8 を選びます。
Weir が向かないケース
- 自分のポストだけでいい:アーカイブとビューアなら無料です。
- Mac の Excel を使う:このクエリは Windows 版向けです。
- X との契約が要る:X 公式 API を使います。2026 年 10 月時点で、1 ポスト $0.005 です。
- 1 ポストの単価がすべて:TwitterAPI.io は 1,000 ツイート $0.15 で、投稿もできます。
キーはブックに残ります。read:x だけのキーに期限を付け、ファイルを人に渡すなら失効させます。
Weir は公開データだけを読み、X の公認ではないので、使える範囲が変わることがあります。法的な助言ではありません。
よくある質問
ツイートを無料でエクセルに出力できますか?
できます。自分のポストは、アーカイブを無料のビューアで CSV にします。公開アカウントなら、Weir の毎月 5,000 クレジットで満杯のページを約 238 回読め、失敗した呼び出しは無料です。
Excel でツイートの ID が 2.11E+18 になるのはなぜですか?
Excel の有効桁数は 15 桁で、ポスト ID は 19 桁あるからです。Power Query で id 列をテキストにするか、自動データ変換の 15 桁の設定を外します。0 で保存した数字は戻せません。
他人のツイートを CSV に出力できますか?
公開アカウントならできます。アーカイブは自分の分だけなので、上のような API を使います。非公開アカウントのポストは承認されたフォロワーしか見られず、出力できません。
参考資料
2026 年 10 月 27 日に確認しました。※は、英語版で 10 月 22 日に確認したものです。
- X ヘルプセンター「全ポスト履歴をダウンロードする方法」(Wayback の 9 月 15 日版):https://web.archive.org/web/20260915235153/https://help.x.com/ja/managing-your-account/how-to-download-your-x-archive
- X Help Center, How to download your X archive(英語、Wayback の 10 月 15 日版):https://web.archive.org/web/20261015124209/https://help.x.com/en/managing-your-account/how-to-download-your-x-archive
- X ヘルプセンター、フォローの FAQ(非公開アカウント、Wayback の 6 月 2 日版):https://web.archive.org/web/20260602025128/https://help.x.com/ja/using-x/following-faqs
- Microsoft サポート、大きい数値の保持、自動データ変換、CSV UTF-8、Power Query のデータ ソース、クエリの作成、接続の更新:https://support.microsoft.com/ja-jp/excel/keeping-leading-zeros-and-large-numbers 、https://support.microsoft.com/ja-jp/excel/set-automatic-data-conversions 、https://support.microsoft.com/ja-jp/excel/opening-csv-utf-8-files-correctly-in-excel 、https://support.microsoft.com/ja-jp/excel/power-query-data-sources-in-excel-versions 、https://support.microsoft.com/ja-jp/excel/create-load-or-edit-a-query-in-excel-power-query 、https://support.microsoft.com/ja-jp/excel/refresh-an-external-data-connection-in-excel
- Microsoft Learn、Web コネクタ、Text/CSV コネクタ、Power Query の画面:https://learn.microsoft.com/ja-jp/power-query/connectors/web/web 、https://learn.microsoft.com/ja-jp/power-query/connectors/text-csv 、https://learn.microsoft.com/ja-jp/power-query/power-query-ui
- マイナビニュース TECH+「Power Query」第 51 回([閉じて読み込む]の表記):https://news.mynavi.jp/techplus/article/Power_Query-51/
- ※Microsoft Q&A(英語、2024 年 12 月 19 日):https://learn.microsoft.com/en-us/answers/questions/2133885/excel-get-data-from-web-loses-authorization-header
- ※Power Query parser(英語、npm 4.0.0):https://github.com/microsoft/powerquery-parser
- X API pricing(英語):https://docs.x.com/x-api/getting-started/pricing
- TwitterAPI.io(英語):https://twitterapi.io/pricing 、https://docs.twitterapi.io/api-reference/endpoint/create_tweet_v2
- Weir のドキュメント(英語):https://docs.weirapp.io/reference/x/searchX 、https://docs.weirapp.io/pagination 、https://docs.weirapp.io/authentication
- ※Weir の search_x(@msexcel、limit 3、4 クレジット)