<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Excel  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<atom:link href="https://python.cbagames.jp/tag/excel/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.cbagames.jp</link>
	<description>Pythonで、できるをふやそう。</description>
	<lastBuildDate>Sat, 21 Jun 2025 01:35:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://python.cbagames.jp/wp-content/uploads/2025/06/cropped-497d491d54402de785c9e043bfa0620a-32x32.png</url>
	<title>Excel  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<link>https://python.cbagames.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PythonとExcelで家計診断ツールを作ってみよう｜グラフで支出が丸わかり！</title>
		<link>https://python.cbagames.jp/2025/06/18/python-excel-household-diagnosis/</link>
					<comments>https://python.cbagames.jp/2025/06/18/python-excel-household-diagnosis/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Wed, 18 Jun 2025 04:42:40 +0000</pubDate>
				<category><![CDATA[Pythonアプリ開発入門]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[グラフ作成]]></category>
		<category><![CDATA[データ可視化]]></category>
		<category><![CDATA[家計管理]]></category>
		<category><![CDATA[家計簿]]></category>
		<category><![CDATA[自動化ツール]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=389</guid>

					<description><![CDATA[目次 はじめに🏠 この記事がぴったりな人🔧 この記事でできること2. Excelに家計データを入力しよう📝 基本のシート構成💡 データ入力のポイント3. PythonでExcelデータを読み込む🧰 使用するライブラリ📂  [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a><ol><li><a href="#toc2" tabindex="0">🏠 この記事がぴったりな人</a></li><li><a href="#toc3" tabindex="0">🔧 この記事でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">2. Excelに家計データを入力しよう</a><ol><li><a href="#toc5" tabindex="0">📝 基本のシート構成</a></li><li><a href="#toc6" tabindex="0">💡 データ入力のポイント</a></li></ol></li><li><a href="#toc7" tabindex="0">3. PythonでExcelデータを読み込む</a><ol><li><a href="#toc8" tabindex="0">🧰 使用するライブラリ</a></li><li><a href="#toc9" tabindex="0">📂 Excelファイルを読み込むコード</a></li><li><a href="#toc10" tabindex="0">💡 よくあるエラーと対処法</a></li></ol></li><li><a href="#toc11" tabindex="0">4. カテゴリ別に集計・グラフ化してみよう</a><ol><li><a href="#toc12" tabindex="0">📊 カテゴリ別に合計金額を集計する</a></li><li><a href="#toc13" tabindex="0">🧁 円グラフで支出割合を可視化する</a></li><li><a href="#toc14" tabindex="0">📊 棒グラフで比較したい場合はこちら</a></li><li><a href="#toc15" tabindex="0">💡 分析のポイント</a></li></ol></li><li><a href="#toc16" tabindex="0">5. 月ごとの推移を分析してみよう</a><ol><li><a href="#toc17" tabindex="0">📅 日付データから「月」を抽出する</a></li><li><a href="#toc18" tabindex="0">📈 月ごとの支出合計を集計する</a></li><li><a href="#toc19" tabindex="0">📊 線グラフで推移を可視化</a></li><li><a href="#toc20" tabindex="0">📌 分析のヒント</a></li></ol></li><li><a href="#toc21" tabindex="0">6. 自動レポート出力で家計を見直す</a><ol><li><a href="#toc22" tabindex="0">📄 レポート形式はどうする？</a></li><li><a href="#toc23" tabindex="0">🖼️ グラフを画像として保存しよう</a></li><li><a href="#toc24" tabindex="0">📝 HTMLファイルにグラフを埋め込もう</a></li><li><a href="#toc25" tabindex="0">💡 応用アイデア</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ</a><ol><li><a href="#toc27" tabindex="0">📌 この記事でやったこと</a></li><li><a href="#toc28" tabindex="0">💡 おすすめの使い方</a></li></ol></li><li><a href="#toc29" tabindex="0">あわせて読みたい｜家計・データ・自動化に役立つPython活用術</a><ol><li><a href="#toc30" tabindex="0">💡 家計やお金の管理に関する関連記事</a></li><li><a href="#toc31" tabindex="0">📈 データの可視化・分析に役立つ記事</a></li><li><a href="#toc32" tabindex="0">⚙️ 自動化に関心がある方へ</a></li></ol></li><li><a href="#toc33" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>「家計簿をつけているけど、見返すと数字ばかりでよく分からない…」<br>そんな経験はありませんか？</p>



<p>この記事では、PythonとExcelを使って<strong>あなたの家計を「見える化」する診断ツール</strong>を作る方法をご紹介します。<br>グラフでパッと確認できるようになるので、「何にどれだけ使っているか」「今月は節約できたか」が一目でわかります！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc2">🏠 この記事がぴったりな人</span></h3>



<ul class="wp-block-list">
<li>家計管理をしているけど、もっとラクに見直したい方</li>



<li>Excelだけでは限界を感じている方</li>



<li>プログラミングに興味があって、生活に活かしたい方</li>



<li>Pythonを使って実用的なアプリを作ってみたい方</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc3">🔧 この記事でできること</span></h3>



<ul class="wp-block-list">
<li>Excelに入力した家計データをPythonで読み込む</li>



<li>支出をカテゴリ別・月別で自動集計する</li>



<li>棒グラフや円グラフで可視化する</li>



<li>お金の使い方を診断できるミニアプリを作る</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Python初心者の方も大丈夫です！<br>コードは丁寧に解説しますし、<strong>サンプルのExcelテンプレート</strong>もご用意しています。<br>ぜひ一緒に、お金の流れを見える化して、ムダづかいを減らしていきましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc4">2. Excelに家計データを入力しよう</span></h2>



<p>まずは家計診断に使う<strong>データの土台</strong>を作りましょう。<br>ここでは、Excelを使って「家計簿の表」を作成します。Pythonで自動的に読み込むため、<strong>決まった形式で入力</strong>するのがポイントです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc5">📝 基本のシート構成</span></h3>



<p>以下のようなシンプルな表を作成します。列の順番はこのままでOKです。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>日付</th><th>項目</th><th>金額</th><th>カテゴリ</th></tr></thead><tbody><tr><td>2025/06/01</td><td>食料品</td><td>3,200</td><td>食費</td></tr><tr><td>2025/06/02</td><td>電気代</td><td>5,600</td><td>光熱費</td></tr><tr><td>2025/06/03</td><td>書籍</td><td>1,500</td><td>教育・趣味</td></tr><tr><td>2025/06/03</td><td>昼ごはん</td><td>900</td><td>食費</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">💡 データ入力のポイント</span></h3>



<ul class="wp-block-list">
<li><strong>日付は yyyy/mm/dd の形式</strong>で統一しましょう。</li>



<li>金額は「半角数字」で入力します（カンマ付きでもOK）。</li>



<li>カテゴリは「食費」「光熱費」「交通費」など、<strong>自分で自由に決めてOK</strong>です。</li>



<li>データが多くなっても、Pythonでまとめて処理できます。</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このデータができたら、次はPythonでこのExcelファイルを読み込んで、<strong>支出の分析とグラフ化</strong>をしていきますよ。<br>それでは、さっそく次のステップへ進みましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc7">3. PythonでExcelデータを読み込む</span></h2>



<p>Excelで家計データの準備ができたら、いよいよPythonの出番です！<br>ここでは、<strong>ExcelファイルをPythonで読み込む手順</strong>をわかりやすく解説していきます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">🧰 使用するライブラリ</span></h3>



<p>まずは以下のライブラリを使います。<br><code>pandas</code>はデータの読み書き、<code>openpyxl</code>はExcelファイル操作で必要です。</p>



<pre class="wp-block-preformatted"><code>pip install pandas openpyxl<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">📂 Excelファイルを読み込むコード</span></h3>



<p>準備した家計簿（例：<code>kakeibo.xlsx</code>）をPythonで読み込みます。</p>



<pre class="wp-block-preformatted"><code>import pandas as pd<br><br># Excelファイルを読み込み<br>df = pd.read_excel("kakeibo.xlsx")<br><br># データの先頭5行を表示<br>print(df.head())<br></code></pre>



<p>これだけで、Excelの中身をPython上で操作できるようになります！<br>読み込んだデータが以下のように表示されれば成功です。</p>



<pre class="wp-block-preformatted"><code>          日付    項目     金額       カテゴリ<br>0  2025-06-01  食料品   3200       食費<br>1  2025-06-02  電気代   5600       光熱費<br>2  2025-06-03  書籍     1500     教育・趣味<br>3  2025-06-03  昼ごはん  900        食費<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc10">💡 よくあるエラーと対処法</span></h3>



<p><strong>「ImportError: Missing optional dependency &#8216;openpyxl&#8217;」と出た場合</strong><br>→ <code>openpyxl</code>がインストールされていない可能性があります。以下のコマンドで再インストールしてください。</p>



<pre class="wp-block-preformatted"><code>pip install openpyxl --upgrade<br></code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これで、PythonからExcelの家計データを自由に扱えるようになりました！<br>次は、このデータを<strong>カテゴリ別に集計してグラフ化</strong>していきましょう。</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc11">4. カテゴリ別に集計・グラフ化してみよう</span></h2>



<p>Pythonで家計データを読み込めたら、次は<strong>カテゴリごとの支出を集計</strong>して、<strong>グラフで可視化</strong>してみましょう。これで、「何にお金を使っているか」がひと目でわかるようになります！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">📊 カテゴリ別に合計金額を集計する</span></h3>



<p><code>pandas</code>の<code>groupby()</code>を使うと、カテゴリごとの合計金額が簡単に出せます。</p>



<pre class="wp-block-preformatted"><code># カテゴリ別に金額を合計<br>category_sum = df.groupby("カテゴリ")["金額"].sum()<br><br>print(category_sum)<br></code></pre>



<p>出力例：</p>



<pre class="wp-block-preformatted"><code>カテゴリ<br>光熱費       5600<br>教育・趣味    1500<br>食費         4100<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">🧁 円グラフで支出割合を可視化する</span></h3>



<p>次は、カテゴリごとの支出割合を<strong>円グラフ</strong>にしてみましょう。</p>



<pre class="wp-block-preformatted"><code>import matplotlib.pyplot as plt<br><br># 円グラフを描画<br>category_sum.plot.pie(autopct="%.1f%%", startangle=90, counterclock=False)<br>plt.title("支出の内訳")<br>plt.ylabel("")  # 不要なラベルを消す<br>plt.tight_layout()<br>plt.show()<br></code></pre>



<p>これで、食費・光熱費・趣味など、どの項目にどれだけ使っているかが<strong>視覚的に分かる円グラフ</strong>として表示されます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">📊 棒グラフで比較したい場合はこちら</span></h3>



<p>棒グラフで見たい方は、以下のコードを使えばOKです。</p>



<pre class="wp-block-preformatted"><code>category_sum.plot.bar()<br>plt.title("カテゴリ別支出（棒グラフ）")<br>plt.xlabel("カテゴリ")<br>plt.ylabel("金額（円）")<br>plt.tight_layout()<br>plt.show()<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc15">💡 分析のポイント</span></h3>



<ul class="wp-block-list">
<li><strong>支出が多いカテゴリ</strong>を把握できれば、節約ポイントが見えてきます</li>



<li>毎月このグラフを作れば、<strong>お金の流れが継続的に見える</strong>ようになります</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このように、PythonとExcelを組み合わせることで、手入力だけでは見えなかったお金の使い方が一目で把握できるようになります！</p>



<p>次は、<strong>月ごとの推移を分析する方法</strong>をご紹介します。支出の傾向が時系列で見えるようになりますよ！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc16">5. 月ごとの推移を分析してみよう</span></h2>



<p>カテゴリ別の支出がわかったら、次は<strong>月ごとの支出の変化</strong>を見てみましょう。月単位で比較することで、「先月より使いすぎた？」「今月は節約できた！」などの判断がしやすくなります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">📅 日付データから「月」を抽出する</span></h3>



<p>まずは日付の列から<strong>年月（例：2025-06）だけを取り出す</strong>処理を行います。</p>



<pre class="wp-block-preformatted"><code># 日付をdatetime型に変換（すでにしていれば不要）<br>df["日付"] = pd.to_datetime(df["日付"])<br><br># '年-月'の形式で新しい列を作成<br>df["月"] = df["日付"].dt.to_period("M")<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">📈 月ごとの支出合計を集計する</span></h3>



<pre class="wp-block-preformatted"><code># 月ごとの金額合計を計算<br>monthly_sum = df.groupby("月")["金額"].sum()<br><br>print(monthly_sum)<br></code></pre>



<p>出力例：</p>



<pre class="wp-block-preformatted"><code>月<br>2025-05    42000<br>2025-06    37800<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">📊 線グラフで推移を可視化</span></h3>



<p>月ごとの支出を**折れ線グラフ（ラインチャート）**にすると、増減が一目でわかります。</p>



<pre class="wp-block-preformatted"><code>monthly_sum.plot(marker='o', linestyle='-')<br>plt.title("月ごとの支出推移")<br>plt.xlabel("月")<br>plt.ylabel("金額（円）")<br>plt.grid(True)<br>plt.tight_layout()<br>plt.show()<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">📌 分析のヒント</span></h3>



<ul class="wp-block-list">
<li><strong>出費が急に増えている月</strong>があれば、その原因を探ってみましょう（例：旅行、家電購入など）</li>



<li>支出が多い月には、「どのカテゴリで増えたか？」を再度カテゴリ別に分析してみると効果的です</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ここまでで、「カテゴリ別」と「月別」の両面から家計を可視化できました！<br>次はこのデータを活用して、Pythonで<strong>家計の診断レポートを自動で出力する方法</strong>をご紹介します！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc21">6. 自動レポート出力で家計を見直す</span></h2>



<p>これまでに作成したグラフや集計結果を、<strong>毎月のレポートとして自動出力</strong>できたら便利ですよね？<br>この章では、Pythonを使って**支出グラフ付きの「家計診断レポート」**を出力する方法をご紹介します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">📄 レポート形式はどうする？</span></h3>



<p>今回は、誰でも扱いやすい <strong>HTMLファイル</strong>としてレポートを出力します。<br>この形式なら、Webブラウザですぐに開けて、画像やグラフも埋め込み可能です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">🖼️ グラフを画像として保存しよう</span></h3>



<p>まずは、グラフをPNG画像として保存します。</p>



<pre class="wp-block-preformatted"><code># カテゴリ別円グラフを保存<br>category_sum.plot.pie(autopct="%.1f%%", startangle=90, counterclock=False)<br>plt.title("支出の内訳")<br>plt.ylabel("")<br>plt.tight_layout()<br>plt.savefig("graph_category.png")<br>plt.close()<br><br># 月別支出グラフを保存<br>monthly_sum.plot(marker='o', linestyle='-')<br>plt.title("月ごとの支出推移")<br>plt.xlabel("月")<br>plt.ylabel("金額（円）")<br>plt.grid(True)<br>plt.tight_layout()<br>plt.savefig("graph_monthly.png")<br>plt.close()<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc24">📝 HTMLファイルにグラフを埋め込もう</span></h3>



<p>保存したグラフ画像をHTMLに挿入する簡単なコードです。</p>



<pre class="wp-block-preformatted"><code>html_content = f"""<br>&lt;html><br>&lt;head>&lt;title>家計診断レポート&lt;/title>&lt;/head><br>&lt;body><br>&lt;h1>📊 家計診断レポート&lt;/h1><br><br>&lt;h2>■ カテゴリ別支出の内訳&lt;/h2><br>&lt;img src="graph_category.png" alt="カテゴリ別支出グラフ"><br><br>&lt;h2>■ 月ごとの支出推移&lt;/h2><br>&lt;img src="graph_monthly.png" alt="月別支出グラフ"><br><br>&lt;p>データ元: kakeibo.xlsx&lt;/p><br>&lt;/body><br>&lt;/html><br>"""<br><br># レポートをHTMLファイルとして保存<br>with open("kakei_report.html", "w", encoding="utf-8") as f:<br>    f.write(html_content)<br><br>print("レポートを出力しました！")<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc25">💡 応用アイデア</span></h3>



<ul class="wp-block-list">
<li><code>datetime.now()</code>を使って「今月のレポート」としてファイル名に日付を入れる</li>



<li>PDF化したい場合は <code>pdfkit</code> や <code>weasyprint</code> を使って変換も可能</li>



<li>Slackやメールで自動送信すれば、完全自動化も夢じゃない！</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このように、Pythonなら「データ集計 → グラフ化 → レポート出力」までワンセットで自動化できます。<br>作っておけば、毎月Excelにデータを追加するだけで家計をチェックできるようになりますよ！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc26">まとめ</span></h2>



<p>今回は、<strong>PythonとExcelを組み合わせて家計を診断するツール</strong>を作る方法をご紹介しました。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc27">📌 この記事でやったこと</span></h3>



<p>✅ Excelで家計データを入力しやすく整える<br>✅ PythonでExcelファイルを読み込む<br>✅ カテゴリ別・月別で支出を集計してグラフ化<br>✅ 見やすいレポートをHTML形式で自動出力</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>グラフでお金の流れを見えるようにするだけで、「この出費、ちょっと多いかも…」と気づけるようになります。<br>Pythonを使えば、その分析やレポート作成を<strong>毎月の習慣として自動化</strong>できるのが魅力ですね！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc28">💡 おすすめの使い方</span></h3>



<ul class="wp-block-list">
<li>毎月の支出チェックに</li>



<li>家族と共有するお金のレポートとして</li>



<li>節約目標や貯金計画のサポートに</li>



<li>Python学習の実用的な題材として</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>「お金の見える化」は、無理な節約ではなく<strong>ムダに気づくための第一歩</strong>です。<br>ぜひこの記事を参考に、あなたもPython家計診断ツールを作ってみてくださいね！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc29">あわせて読みたい｜家計・データ・自動化に役立つPython活用術</span></h2>



<p>Pythonを使って生活を便利にするアイデアはまだまだあります！<br>以下の記事もぜひチェックして、知識とスキルをさらに広げてみましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc30">💡 家計やお金の管理に関する関連記事</span></h3>



<ul class="wp-block-list">
<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/18/python-simple-kakeibo-app/">Pythonで家計簿アプリを作ろう！初心者でもできるおこづかい帳の作り方</a><br>→ <code>tkinter</code>を使ったデスクトップアプリの作成方法を紹介しています。</li>



<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/18/python-exchange-rate-to-excel/">Pythonで為替レートを自動取得してExcelに保存する方法【初心者向け】</a><br>→ APIを活用して、最新の為替データをスプレッドシートに記録できます。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc31">📈 データの可視化・分析に役立つ記事</span></h3>



<ul class="wp-block-list">
<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/15/python-matplotlib-graph-beginner/">Pythonでグラフを描く！Matplotlibの使い方を初心者向けにやさしく解説</a><br>→ 折れ線・棒グラフ・円グラフなどを自在に描くための基本を解説。</li>



<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/18/python-stock-price-analysis/">【Python株価分析】データ取得・可視化・予測まで完全ガイド！</a><br>→ 株価をテーマにした高度なデータ分析＆予測にも挑戦できます。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc32">⚙️ 自動化に関心がある方へ</span></h3>



<ul class="wp-block-list">
<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/16/python-gmail-api-send-receive/">PythonでGmail APIを使ってメール送受信＆添付ファイルを操作する方法</a><br>→ メール送信・受信・添付ファイル処理まで、自動化の第一歩に！</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc33">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">いいえ、大丈夫です！</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>Pythonの基本を知らなくても、記事内のコードをコピペして動かすだけで成果を実感できます。さらに、各ステップで細かく解説しているので、「見よう見まね」でも自然にPythonに慣れていけますよ。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Excelファイルの形式はどんなものが使えますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong><code>.xlsx</code>形式または<code>.csv</code>形式が使えます。</strong><br>記事では<code>.xlsx</code>を使っていますが、CSVでも同じように読み込めるよう応用できます。テンプレートも用意しているので、すぐに試せます！</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">スマホしか持っていないのですが、Pythonは使えますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong>一部のアプリを使えば可能ですが、本記事の内容はPC推奨です。</strong><br>Pythonを使ったグラフ描画やファイル操作は、Windows/Mac/LinuxなどPC環境での作業が快適です。スマホではGoogle ColabやPyDroidなどもありますが、制限が多いためまずはPCでの体験をおすすめします。</p>
</div></dd></dl></div>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/18/python-excel-household-diagnosis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PythonでCSVやExcelに書き込む方法｜スプレッドシート以外の選択肢も！</title>
		<link>https://python.cbagames.jp/2025/06/05/python-csv-excel-write/</link>
					<comments>https://python.cbagames.jp/2025/06/05/python-csv-excel-write/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Thu, 05 Jun 2025 02:42:27 +0000</pubDate>
				<category><![CDATA[自動化スクリプト]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[openpyxl]]></category>
		<category><![CDATA[pandas]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[ファイル操作]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=106</guid>

					<description><![CDATA[目次 1. はじめに2-1. CSVとは？用途と特徴✅ CSVのメリット🚫 CSVの注意点2-2. csvモジュールでの書き込み手順🔰 サンプルコード：CSVファイルに書き込む📝 コードの解説📂 出力されるCSVファイル [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4"><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1. はじめに</a></li><li><a href="#toc2" tabindex="0">2-1. CSVとは？用途と特徴</a><ol><li><a href="#toc3" tabindex="0">✅ CSVのメリット</a></li><li><a href="#toc4" tabindex="0">🚫 CSVの注意点</a></li></ol></li><li><a href="#toc5" tabindex="0">2-2. csvモジュールでの書き込み手順</a><ol><li><a href="#toc6" tabindex="0">🔰 サンプルコード：CSVファイルに書き込む</a></li><li><a href="#toc7" tabindex="0">📝 コードの解説</a></li><li><a href="#toc8" tabindex="0">📂 出力されるCSVファイルの中身</a></li></ol></li><li><a href="#toc9" tabindex="0">3-1. Excel操作にはopenpyxlが便利</a><ol><li><a href="#toc10" tabindex="0">✅ openpyxlの特徴</a></li><li><a href="#toc11" tabindex="0">🔧 openpyxlのインストール方法</a></li></ol></li><li><a href="#toc12" tabindex="0">3-2. openpyxlを使った書き込み手順</a><ol><li><a href="#toc13" tabindex="0">🔰 サンプルコード：Excelファイルに書き込み</a></li><li><a href="#toc14" tabindex="0">📝 コードの解説</a></li><li><a href="#toc15" tabindex="0">📁 実際の出力ファイルのイメージ</a></li><li><a href="#toc16" tabindex="0">🧠 ワンポイントアドバイス</a></li></ol></li><li><a href="#toc17" tabindex="0">4. pandasを使ってCSVやExcelに書き込む方法（応用編）</a><ol><li><a href="#toc18" tabindex="0">✅ pandasのインストール</a></li><li><a href="#toc19" tabindex="0">🔰 サンプルコード：CSVに書き出す</a></li><li><a href="#toc20" tabindex="0">📝 ポイント解説（CSV出力）</a></li><li><a href="#toc21" tabindex="0">🔰 サンプルコード：Excelに書き出す</a></li><li><a href="#toc22" tabindex="0">🔄 上書き・追記の注意点</a></li></ol></li><li><a href="#toc23" tabindex="0">5. CSV・Excel以外の書き込み先はある？</a><ol><li><a href="#toc24" tabindex="0">✅ JSONファイル｜構造化データに便利</a></li><li><a href="#toc25" tabindex="0">✅ SQLite｜軽量なデータベースに保存</a></li><li><a href="#toc26" tabindex="0">✅ Googleスプレッドシート｜クラウド共有に最適</a></li><li><a href="#toc27" tabindex="0">🧭 選択肢のまとめ</a></li></ol></li><li><a href="#toc28" tabindex="0">6. まとめ｜目的に合った保存形式を選ぼう</a><ol><li><a href="#toc29" tabindex="0">✅ おさらい：書き込み方法まとめ</a></li><li><a href="#toc30" tabindex="0">🧩 保存形式の選び方</a></li></ol></li><li><a href="#toc31" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1. はじめに</span></h2>



<p>Pythonでデータを処理できるようになると、「処理した結果をどこかに保存したいな」と思うことが増えてきますよね。<br>そんなとき、よく使われるのが<strong>CSVファイル</strong>や**Excelファイル（.xlsx）**です。</p>



<p>たとえば、次のようなシーンで役立ちます：</p>



<ul class="wp-block-list">
<li>Webスクレイピングで取得したデータをCSVにまとめたい</li>



<li>毎月の売上データをExcelに自動で出力したい</li>



<li>社内で共有するために決まったフォーマットのファイルを生成したい</li>
</ul>



<p>Googleスプレッドシートも便利ですが、「インターネット接続がない環境」や「社内でファイル共有がメインの職場」では、<strong>ローカルファイル形式（CSVやExcel）の方が使い勝手がいい</strong>ことも多いです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>また、CSVやExcelはWindowsやMacなど**どの環境でも読み書きできる「万能フォーマット」**です。<br>Pythonから簡単に出力できるので、<strong>自動化や業務効率化にもピッタリ</strong>なんですよ。</p>



<p>この記事では、Python初心者でも迷わず使えるように、次のポイントをやさしく解説していきます。</p>



<ul class="wp-block-list">
<li><code>csv</code>モジュールを使ってCSVファイルに書き込む方法</li>



<li><code>openpyxl</code>を使ってExcelファイルに書き込む方法</li>



<li>pandasを使った効率的なデータ出力の方法</li>



<li>CSV・Excel以外の選択肢（JSONやSQLiteなど）</li>
</ul>



<p>「スプレッドシート以外の選択肢も知りたい！」という方にもおすすめの内容になっています。<br>それではさっそく、CSVファイルの書き込みから見ていきましょう！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc2">2-1. CSVとは？用途と特徴</span></h2>



<p>まずはCSVについてざっくり説明しておきましょう！</p>



<p><strong>CSV（カンマ区切り値／Comma-Separated Values）ファイル</strong>とは、データを<strong>カンマ（,）で区切って並べたテキストファイル</strong>のことです。<br>拡張子は「<code>.csv</code>」で、テキストエディタでもExcelでも簡単に開くことができます。</p>



<p>たとえば、次のような形式がCSVです：</p>



<pre class="wp-block-preformatted"><code>名前,年齢,職業<br>田中太郎,28,エンジニア<br>佐藤花子,35,デザイナー<br></code></pre>



<h3 class="wp-block-heading"><span id="toc3">✅ CSVのメリット</span></h3>



<ul class="wp-block-list">
<li><strong>ファイルサイズが軽い</strong>：中身はただのテキストなので軽量。</li>



<li><strong>読みやすい＆扱いやすい</strong>：エクセルやGoogleスプレッドシートで開ける。</li>



<li><strong>他システムとの連携がしやすい</strong>：多くのアプリやサービスがCSVをサポート。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">🚫 CSVの注意点</span></h3>



<ul class="wp-block-list">
<li>セルの結合やグラフなど<strong>Excelの高度な機能は使えない</strong></li>



<li>カンマや改行が入ったデータは<strong>エスケープ処理</strong>が必要になることもある</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>つまり、「<strong>シンプルなデータ保存ややり取りには最適だけど、装飾はできない</strong>」というのがCSVの特徴です。<br>次は、このCSVファイルに<strong>Pythonで書き込む基本の方法</strong>を解説します！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc5">2-2. csvモジュールでの書き込み手順</span></h2>



<p>Pythonには、CSVファイルを扱うための<strong>標準モジュール <code>csv</code></strong> が用意されています。<br>つまり、<strong>追加でライブラリをインストールしなくてもすぐに使える</strong>んです！</p>



<p>ここでは、CSVファイルにデータを書き込む基本的な方法を紹介します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">🔰 サンプルコード：CSVファイルに書き込む</span></h3>



<pre class="wp-block-preformatted"><code>import csv<br><br># 書き込むデータ（リストのリスト形式）<br>data = [<br>    ["名前", "年齢", "職業"],<br>    ["田中太郎", 28, "エンジニア"],<br>    ["佐藤花子", 35, "デザイナー"]<br>]<br><br># ファイルを開いて書き込む<br>with open("sample.csv", "w", newline="", encoding="utf-8") as file:<br>    writer = csv.writer(file)<br>    writer.writerows(data)<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">📝 コードの解説</span></h3>



<ul class="wp-block-list">
<li><code>open("sample.csv", "w", newline="", encoding="utf-8")</code>:<br>CSVファイルを「書き込みモード（<code>w</code>）」で開いています。文字コードは日本語対応の<code>utf-8</code>。<br><code>newline=""</code>は、Windows環境で<strong>改行が2重になるのを防ぐ</strong>ための対策です。</li>



<li><code>csv.writer(file)</code>:<br><code>writer</code>オブジェクトを作成します。これを使ってデータを書き込みます。</li>



<li><code>writer.writerows(data)</code>:<br>リストのリスト形式（2次元）で渡すと、<strong>1行ずつ自動で書き込んでくれる</strong>便利な関数です。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">📂 出力されるCSVファイルの中身</span></h3>



<pre class="wp-block-preformatted"><code>名前,年齢,職業<br>田中太郎,28,エンジニア<br>佐藤花子,35,デザイナー<br></code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Excelで開けば、ちゃんと行と列に分かれた表形式で表示されますよ！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc9">3-1. Excel操作にはopenpyxlが便利</span></h2>



<p>CSVはとってもシンプルで使いやすいんですが、<br>「セルの装飾をしたい」「複数のシートを使いたい」「関数やグラフも含めたい」<br>──そんなときに出番なのが<strong>Excel（.xlsx）形式</strong>です！</p>



<p>PythonでExcelファイルを操作するには、<strong><code>openpyxl</code>というライブラリ</strong>がよく使われます。<br>Microsoft Excel 2007以降で使われている「.xlsx形式」に対応していて、セルの装飾や数式の設定もできます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc10">✅ openpyxlの特徴</span></h3>



<ul class="wp-block-list">
<li>Excelのセルに<strong>自由にデータを書き込める</strong></li>



<li><strong>行や列の挿入／削除、スタイル変更、グラフ挿入</strong>なども可能</li>



<li><code>.xlsx</code>ファイルを<strong>新規作成も編集もOK！</strong></li>



<li>Excelをインストールしていなくても使える</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">🔧 openpyxlのインストール方法</span></h3>



<p>まずは、まだインストールしていない場合は次のコマンドで導入しましょう。</p>



<pre class="wp-block-preformatted"><code>pip install openpyxl<br></code></pre>



<p>数秒で完了します！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc12">3-2. openpyxlを使った書き込み手順</span></h2>



<p><code>openpyxl</code>を使えば、Excelのセルに<strong>自由にデータを書き込むことができます。</strong><br>ここでは、新しいExcelファイルを作って、データを入力して保存するまでの流れを見ていきましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">🔰 サンプルコード：Excelファイルに書き込み</span></h3>



<pre class="wp-block-preformatted"><code>from openpyxl import Workbook<br><br># 新しいワークブック（Excelファイル）を作成<br>wb = Workbook()<br><br># アクティブなワークシートを取得<br>ws = wb.active<br><br># シート名を変更（任意）<br>ws.title = "社員名簿"<br><br># データの書き込み（行単位で指定）<br>ws.append(["名前", "年齢", "部署"])<br>ws.append(["田中太郎", 28, "開発"])<br>ws.append(["佐藤花子", 35, "デザイン"])<br><br># ファイルとして保存<br>wb.save("sample.xlsx")<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">📝 コードの解説</span></h3>



<ul class="wp-block-list">
<li><code>Workbook()</code>：新しいExcelファイル（ワークブック）を作成します。</li>



<li><code>wb.active</code>：デフォルトのワークシート（Sheet）を取得します。</li>



<li><code>ws.append(...)</code>：行単位でデータを追加できます。リスト形式で渡すだけでOK！</li>



<li><code>wb.save("ファイル名.xlsx")</code>：Excelファイルとして保存します。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc15">📁 実際の出力ファイルのイメージ</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>名前</th><th>年齢</th><th>部署</th></tr></thead><tbody><tr><td>田中太郎</td><td>28</td><td>開発</td></tr><tr><td>佐藤花子</td><td>35</td><td>デザイン</td></tr></tbody></table></figure>



<p>このファイルをExcelで開くと、ちゃんと整った表になっています！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">🧠 ワンポイントアドバイス</span></h3>



<p>複数のシートに書き込みたいときはこうします：</p>



<pre class="wp-block-preformatted"><code>ws2 = wb.create_sheet(title="売上データ")<br>ws2.append(["日付", "金額"])<br></code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Excelらしい機能もいろいろ追加できますが、まずはこの基本をマスターしておけばOKです！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc17">4. pandasを使ってCSVやExcelに書き込む方法（応用編）</span></h2>



<p>ここまで標準モジュールや<code>openpyxl</code>を使った方法を紹介してきましたが、<br>**もっとスマートにデータを書き込みたい！**という方におすすめなのが「<strong>pandas（パンダス）</strong>」です。</p>



<p>pandasを使えば、データを**DataFrame（表形式のデータ構造）**にまとめて、<br>たった1行でCSVやExcelファイルに書き出すことができます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">✅ pandasのインストール</span></h3>



<p>まだインストールしていない場合は、次のコマンドで導入しておきましょう：</p>



<pre class="wp-block-preformatted"><code>pip install pandas openpyxl<br></code></pre>



<p>※Excel出力のために<code>openpyxl</code>も一緒に入れておきます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">🔰 サンプルコード：CSVに書き出す</span></h3>



<pre class="wp-block-preformatted"><code>import pandas as pd<br><br># データフレームの作成<br>data = {<br>    "名前": ["田中太郎", "佐藤花子"],<br>    "年齢": [28, 35],<br>    "部署": ["開発", "デザイン"]<br>}<br>df = pd.DataFrame(data)<br><br># CSVファイルに出力<br>df.to_csv("pandas_sample.csv", index=False, encoding="utf-8")<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">📝 ポイント解説（CSV出力）</span></h3>



<ul class="wp-block-list">
<li><code>index=False</code>：行番号（インデックス）をCSVに含めないようにするオプション</li>



<li><code>encoding="utf-8"</code>：文字化け防止（特に日本語のデータを扱うとき）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc21">🔰 サンプルコード：Excelに書き出す</span></h3>



<pre class="wp-block-preformatted"><code># Excelファイルに出力<br>df.to_excel("pandas_sample.xlsx", index=False)<br></code></pre>



<p>たったこれだけで、Excelファイルが出力されます。<br>複雑な書式設定はできませんが、「とりあえず表にして保存したい！」という用途ならこれで十分です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">🔄 上書き・追記の注意点</span></h3>



<ul class="wp-block-list">
<li><code>to_csv()</code>や<code>to_excel()</code>は<strong>ファイルを上書き保存</strong>します。</li>



<li>追記（append）したい場合は、いったんファイルを読み込んでから<code>concat()</code>などで合成して保存しましょう。</li>
</ul>



<pre class="wp-block-preformatted"><code># ファイルを読み込み、既存データに新しいデータを結合<br>existing = pd.read_csv("pandas_sample.csv")<br>new_data = pd.DataFrame({"名前": ["山田太一"], "年齢": [30], "部署": ["営業"]})<br>combined = pd.concat([existing, new_data], ignore_index=True)<br>combined.to_csv("pandas_sample.csv", index=False, encoding="utf-8")<br></code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>pandasはこのように、データ分析にも保存処理にも便利な「万能ツール」です。</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc23">5. CSV・Excel以外の書き込み先はある？</span></h2>



<p>ここまで、CSVとExcelへの書き込み方法を紹介してきましたが、<br>実はPythonでは<strong>それ以外にもデータの保存先がたくさん</strong>あるんです！</p>



<p>「CSVやExcelだと扱いづらいな…」と思ったときは、ぜひ以下の選択肢も検討してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc24">✅ JSONファイル｜構造化データに便利</span></h3>



<p>JSON（JavaScript Object Notation）は、辞書やリストのような<strong>ネストされたデータ構造をそのまま保存</strong>できるのが特徴。</p>



<pre class="wp-block-preformatted"><code>import json<br><br>data = {"名前": "田中太郎", "年齢": 28, "部署": "開発"}<br><br>with open("data.json", "w", encoding="utf-8") as f:<br>    json.dump(data, f, ensure_ascii=False, indent=2)<br></code></pre>



<ul class="wp-block-list">
<li><strong>見た目がきれいで読みやすい</strong></li>



<li><strong>APIやWebサービスと相性が良い</strong></li>



<li>Excelでの編集はできないが、プログラム間でのやり取りに最適</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc25">✅ SQLite｜軽量なデータベースに保存</span></h3>



<p>もしデータがどんどん増えるような場合や、検索やフィルタ機能が必要なら、**SQLite（組み込み型データベース）**が便利です。</p>



<pre class="wp-block-preformatted"><code>import sqlite3<br><br>conn = sqlite3.connect("example.db")<br>cur = conn.cursor()<br><br>cur.execute("CREATE TABLE IF NOT EXISTS users (name TEXT, age INTEGER, department TEXT)")<br>cur.execute("INSERT INTO users VALUES (?, ?, ?)", ("田中太郎", 28, "開発"))<br><br>conn.commit()<br>conn.close()<br></code></pre>



<ul class="wp-block-list">
<li>データベース操作が可能（検索、更新、削除）</li>



<li><code>.db</code>ファイル1つで完結する</li>



<li>Pythonからの操作もとても簡単</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc26">✅ Googleスプレッドシート｜クラウド共有に最適</span></h3>



<p>「複数人でリアルタイムに編集したい」「社内で共有したい」という場合は、Googleスプレッドシートが有力な選択肢。</p>



<p>👉 詳しくは：<a target="_blank" href="https://python.cbagames.jp/2025/06/04/python-google-spreadsheet-gspread/">PythonでGoogleスプレッドシートを操作する方法</a>をご覧ください！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc27">🧭 選択肢のまとめ</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>保存先</th><th>特徴</th><th>向いている用途</th></tr></thead><tbody><tr><td>CSV</td><td>シンプル・軽量</td><td>表形式の基本データの保存</td></tr><tr><td>Excel（xlsx）</td><td>装飾やシート分けができる</td><td>見た目も大事な帳票やレポート</td></tr><tr><td>JSON</td><td>ネスト構造に対応</td><td>構造化データの保存やAPI連携</td></tr><tr><td>SQLite</td><td>検索や管理がしやすい</td><td>アプリ内データ保存や大量データ管理</td></tr><tr><td>スプレッドシート</td><td>クラウドで共有・自動化しやすい</td><td>社内共有、自動レポート生成</td></tr></tbody></table></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>目的や環境に合わせて、<strong>最適な保存形式を選ぶことが業務効率化のカギ</strong>になります！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc28">6. まとめ｜目的に合った保存形式を選ぼう</span></h2>



<p>この記事では、PythonでデータをCSVやExcelに書き込む方法を中心に紹介してきました。<br>さらに、JSONやSQLite、Googleスプレッドシートなどの<strong>他の保存形式</strong>も取り上げました。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc29">✅ おさらい：書き込み方法まとめ</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>形式</th><th>主な方法</th><th>特徴</th></tr></thead><tbody><tr><td><strong>CSV</strong></td><td><code>csv</code>モジュール、<code>pandas</code></td><td>軽量・シンプルで汎用性あり</td></tr><tr><td><strong>Excel（.xlsx）</strong></td><td><code>openpyxl</code>、<code>pandas</code></td><td>装飾や複数シート対応、見た目が整えられる</td></tr><tr><td><strong>JSON</strong></td><td><code>json</code>モジュール</td><td>ネストされたデータも保存できる</td></tr><tr><td><strong>SQLite</strong></td><td><code>sqlite3</code>モジュール</td><td>データベース操作が可能、大量データに強い</td></tr><tr><td><strong>スプレッドシート</strong></td><td><code>gspread</code>などの外部ライブラリ</td><td>クラウド連携、自動化、複数人での同時編集OK</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc30">🧩 保存形式の選び方</span></h3>



<ul class="wp-block-list">
<li><strong>簡単な表を保存したい</strong> → CSV</li>



<li><strong>Excelで資料を配りたい・整えたい</strong> → Excel</li>



<li><strong>構造化されたデータを保存したい</strong> → JSON</li>



<li><strong>本格的なデータベースとして活用したい</strong> → SQLite</li>



<li><strong>社内共有・自動レポートに使いたい</strong> → Googleスプレッドシート</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Pythonにはいろいろな保存方法があるからこそ、**「何のために保存したいのか？」**を明確にすると、最適な手段が見えてきます。</p>



<p>この機会にぜひ、自分の目的にぴったりな方法を見つけて、日々の業務や学習をもっとラクにしていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc31">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">CSVとExcelの違いって何？どちらを使えばいいの？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong>CSV</strong>はただのテキストファイルで、軽量で汎用性があります。一方、**Excel（.xlsx）**は装飾や数式、複数シートなどの機能を持つ高機能なファイル形式です。</p>



<ul class="wp-block-list">
<li>見た目を整えたい → <strong>Excel</strong></li>



<li>軽くてシンプルな保存がしたい → <strong>CSV</strong></li>
</ul>



<p>どちらを選ぶかは「誰に渡すか・どう使うか」で決めましょう。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">pandasで保存したCSVファイルが文字化けします…</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><code>to_csv()</code>で日本語を含むCSVを保存する場合、**<code>encoding="utf-8-sig"</code>**と指定すると、Excelでの文字化けを防げます。</p>



<pre class="wp-block-preformatted"><code>df.to_csv("file.csv", index=False, encoding="utf-8-sig")</code></pre>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Excelファイルに追記したい場合はどうすればいい？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><code>openpyxl</code>で既存のExcelファイルを開いて、そこにデータを追加できます：</p>



<pre class="wp-block-preformatted"><code>from openpyxl import load_workbook<br><br>wb = load_workbook("sample.xlsx")<br>ws = wb.active<br>ws.append(["新しい行のデータ"])<br>wb.save("sample.xlsx")</code></pre>
</div></dd></dl></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/05/python-csv-excel-write/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
