WEIR

ツイートをエクセルに出力する方法 2026:CSV と Power Query

ツイートをエクセルに出力する 2 つの方法。自分のポストは X のアーカイブを CSV に、公開アカウントは Power Query で読み込み、19 桁の ID も文字化けも防ぎます。


公開 · 更新 · 約 7 分で読めます · Read in English · 阅读中文版

カバー画像:ID の 19 桁を守る

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]
  1. 方法を選ぶ自分のアーカイブか、API でほかの公開アカウントか。
  2. アーカイブを CSV にビューアがブラウザの中で ZIP を読みます。
  3. ID を文字列で読み込む[テキスト/CSV から]で id をテキストにします。
  4. クエリを貼る空のクエリから Weir の検索を呼びます。
  5. 読み込んで更新[閉じて読み込む]と[すべて更新]です。

ツイートをエクセルに出力する方法はどれ?

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 で読み込みます。

  1. **[データ]→[テキスト/CSV から]**でファイルを選び、[データの変換]を押します。
  2. id と reply_to_id の列を選び、[ホーム]→[変換]→[データ型]→[テキスト]にします。
  3. 確認では今の手順を置き換えるほうを選び、[閉じて読み込む]を押します。

Microsoft 365 と Excel 2024 には、ダブルクリックでも全桁を残す設定があります。[ファイル]→[オプション]→[データ]→[自動データ変換]で、「長い数値の最初の 15 桁を保持し…」を外します。Mac では[Excel]→[環境設定]→[編集]です。

ステップ 3:公開アカウントのツイートを Excel に取り込む

Power Query は Web の API を呼べるので、公開アカウントや検索をそのまま読み込めます。

要るのは Windows 版の Excel と、無料の Weir のキー(英語)です。

Microsoft の一覧では、Mac 版の Power Query に Web のデータ ソースがありません。

  1. **[データ]→[データの取得]→[その他のソースから]→[空のクエリ]**を選びます。
  2. **[表示]→[詳細エディター]を開き、**中身を下のクエリに置き換えます。
  3. キーとアカウントを書き換えて、[完了]を押します。
  4. 接続方法は[匿名]を選びます。 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 クレジットです。更新のたびにポストを買い直すので、月の量は[接続のプロパティ]の[定期的に更新する]の間隔で決まります。

20 ポスト 1 ページの、月あたりのクレジット
1 日 1 回の更新630
1 時間ごと15,120
15 分ごと60,480

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 日に確認したものです。