「csv」タグアーカイブ

ゼロから学ぶ!Pythonで気軽にデータ分析入門

「Pythonでデータ分析を始めたいけど、難しそう…」
そんな初心者の方でも大丈夫!この記事では、家計簿や売上のような身近なデータを題材にして、Pythonで「データを読み込む → 集計 → グラフにする」までを体験します。

まずは小さな一歩から。ゲーム感覚で数字を扱っていくうちに、自然とデータ分析の基礎が身につきます。


サンプル環境

本記事の内容は以下の環境で動作確認しています。

項目バージョン / ツール
OSWindows 11 Pro 24H2
Python3.12.6
pip24.2
エディタPowerShell / VS Code
ライブラリpandas 2.x / matplotlib 3.x / openpyxl 3.x

Pythonとは?

Python(パイソン) は、シンプルで分かりやすいプログラミング言語です。

  • 文法がやさしい → 初めてでも読みやすい

  • 豊富なライブラリ → 家計簿、売上管理、グラフ化などすぐ活用できる

  • 学習者が多い → ネットに解説記事や質問回答がたくさん

今回は「pandas」「matplotlib」を使って、データを簡単に扱う方法を学びます。


1. Pythonをインストール

Windows 11なら Microsoft Store からインストールするのが簡単です。

  • スタート → Microsoft Store → 「Python」で検索

  • 今回は最新版の「Python 3.13」をインストールします
    ※ダウンロードすると自動的にインストールされます。


2. 動作確認

PowerShellで次を実行:

出力例:

Python 3.13.7

3. 必要なライブラリをインストール


successfullyと上記の様に表示されればインストール正常終了してます。


4. サンプルデータ

家計簿や売上のようなシンプルなデータを用意します。

sales.csv


5. Pythonで分析!4つの出力を体験

パターン① コンソール出力(数字で確認)

ファイル名を sample.py にして、わかりやすい場所(例:C:\Users\〇〇\Documents\python\)に保存します。

sample.py 」を保存したディレクトリに移動し、powershell でpython sample.pyと入力して実行すると以下の様に表示されます。

出力例:

👉 「今日は使いすぎた?」がすぐ分かります。


パターン② グラフ出力(見やすく可視化)

出力イメージ:

👉 支出の増減がひと目で分かります。


パターン③ ファイルに保存(CSV・画像)


👉 結果をExcelや画像にして保存すれば、あとで見返したり人に見せたりできます。


パターン④ Notebookで出力

Jupyter Notebookを使えば、

と書くだけで、コードの下に表がきれいに表示されます。

ステップ1: Notebookを起動

PowerShell で以下を実行します:

👉 ブラウザが開くので「File → New → Notebook → Python 3」で新しいノートブックを作ります。

ステップ2: セルごとにコードを書く

セル1: データ読み込み

👉セルを選択し、Shift  + Enterで実行すると表がセルの下にきれいに表示されます。

Notebookの特徴

print()不要 → 変数名だけで表や集計結果が表示される

グラフはセル下に直接描画

コード・結果・グラフが一つの画面でまとまって見やすい

✅ まとめると、記事で紹介したパターン④のコードは そのまま動きますが、Notebookではprintを省略して変数名だけ書けばOK という違いがあります。

👉 家計簿アプリ感覚で扱えて便利です。


まとめ

  • Pythonは初心者でも気軽に始められる

  • データ分析の出力には4パターンある

    1. 数字で見る(コンソール)

    2. グラフで見る(可視化)

    3. ファイルに保存(CSV・PNG)

    4. Notebookでまとめる

  • まずは「日ごとの支出」を分析してみるとイメージしやすい

HULFTでCSVをバイナリ指定するとどうなる?使い方と注意点まとめ

はじめに

企業間やシステム間のデータ連携でよく利用されるファイル転送ソフトウェア「HULFT」。日常的にCSVやログファイルをやり取りしている方も多いと思います。
その際に必ず出てくるのが「ファイルモードの指定」。HULFTには 「テキスト指定(レコード指定)」「バイナリ指定」 の2種類があり、どちらを使うべきか迷うケースが少なくありません。

本記事では 「CSVをバイナリ指定で送った場合どうなるのか?」 を中心に、メリット・デメリットや注意点を整理します。


バイナリ指定とは?

HULFTにおける「バイナリ指定」とは、ファイル内容を1バイト単位のデータとしてそのまま送受信するモードを指します。
この場合、HULFTは以下のような変換や処理を一切行いません。

  • 改行コードの変換(CRLF⇔LFなど)

  • 文字コードの変換(Shift-JIS⇔UTF-8など)

  • レコード単位の制御(固定長・可変長)

つまり「HULFTが何も手を加えずにコピーする」のがバイナリ指定です。


バイナリ指定のメリット

  1. 内容がそのまま届く
    改行コードや文字コードが勝手に変換されないため、送信元のデータを完全に保持できます。

  2. ファイル形式を問わない
    CSVに限らず、Excel、PDF、ZIP、画像ファイルなども問題なく転送可能。
    → そのため「とりあえず壊れたくないファイルはバイナリ指定」で安全に扱えます。

  3. 異なるOS間でも安心
    WindowsからLinux、Linuxからホスト系など、環境差異を気にせず転送できます。


バイナリ指定のデメリット

  1. 文字コード変換がされない
    送信側がShift-JIS、受信側がUTF-8を前提としている場合、そのままでは文字化けします。

  2. 改行コードもそのまま
    WindowsのCSV(CRLF)をLinuxで処理すると、アプリ側がLFを期待していた場合に不具合の原因になります。

  3. レコード単位の扱いができない
    COBOLやホストシステム連携など「固定長レコード前提」のファイルを扱う場合は不向きです。


CSVをバイナリ指定で送るとどうなる?

結論から言うと、基本的に悪影響はありません
CSVは単なるテキストファイルですが、HULFT側で勝手に改行コードや文字コードを変換しないので、送信元と全く同じファイルが届きます。

ただし以下のケースでは注意が必要です。

  • 文字コードが異なる場合
    送信元がShift-JIS、受信先がUTF-8で解析 → 文字化けの可能性あり。

  • 改行コードが異なる場合
    Windowsで作成したCSVをLinuxで使うと、改行が意図通りに扱えないことがある。

そのため「受信側のシステムがどの文字コード・改行コードを想定しているか」を事前に確認しておくことが大切です。


まとめ

  • バイナリ指定は「ファイルをそのまま送りたいとき」に有効。

  • CSVを送る場合も基本的に問題はないが、受信側の文字コードや改行コードの前提条件によっては注意が必要。

  • 迷ったらまずは「バイナリ指定」で送り、必要に応じて受信側で変換処理を入れるのが無難です。


👉 実際の業務では「相手先がどんなシステムで受けるのか」を確認してから指定するのが鉄則です。
もし「文字コード変換が必要」や「固定長レコード前提」のような要件がある場合は、バイナリ指定ではなくテキスト指定を選ぶ方が安全です。

ChatGPTにExcelマクロを書かせてCSVを自動処理|初心者でもできるフィルタリング自動化

はじめに

業務でCSVデータを扱う機会は多いですが、毎回手作業でフィルタリングするのは大変です。
そんなときに便利なのが Excelマクロ(VBA)による自動処理

しかも今は、ChatGPTに「CSVを読み込んでフィルタリングするマクロを書いて」と依頼するだけで、即座にマクロコードを生成してくれます。

この記事では、その手順を実際の例で紹介します。


手順①:ChatGPTに依頼する

ChatGPTに次のように入力します。

プロンプト例:

CSVファイルを読み込んで、列Bが「完了」のデータだけを新しいシートに表示するExcel VBAマクロを書いてください。

👉 条件(例:「列Bが完了」)は自由に変更できます。


手順②:ChatGPTが生成したマクロコード

ChatGPTは以下のようなコードを生成してくれます。


手順③:Excelに貼り付ける

  1. Excelを開き、Alt + F11でVBAエディタを起動

  2. 「挿入」→「標準モジュール」を選択

  3. 上記コードを貼り付け

  4. CSVファイルのパス(filePath)を自分の環境に合わせて変更


手順④:マクロを実行する

  1. Excelに戻り、Alt + F8を押して「ImportAndFilterCSV」を実行

  2. 新しいシート「Filtered」に、列Bが「完了」のデータだけが表示される

これでCSVのフィルタリングが自動化できました!


応用ポイント

  • 条件を「完了」以外に変えることで、自由にフィルタリング可能

  • 複数条件もIf文を追加すれば対応できる

  • 定期的に同じCSVを処理する場合は、処理時間を大幅に短縮できる


まとめ

ChatGPTを活用すれば、複雑に思えるCSV読み込み+フィルタリング処理も、たった1行の依頼でマクロコードが完成します。

毎日の業務で繰り返しCSV処理をしている方は、ぜひChatGPTにコード生成を任せてみてください。

👉 次回は「条件付きでセルに色をつけるマクロ」をChatGPTで生成する方法を紹介予定です。

CSVファイルの 「BOMあり」、「BOMなし」とは?

  • はじめに

    CSVファイルを扱っていると、「BOMあり」「BOMなし」という言葉を目にすることがあります。
    特にExcelで開いたときに文字化けしてしまった経験がある方は、この違いが大きな意味を持つことを知っておくと便利です。
    この記事では、BOMの基礎から、Excelやシステムでの扱い方、確認方法まで解説します。


    BOMとは?

    BOM(Byte Order Mark)は、テキストファイルの先頭に付与される特殊な「目印」です。
    文字コードを示すために使われ、特にUTF-8では以下の3バイトがBOMになります。

    EF BB BF

    これがあるファイルを「BOMあり」、ないファイルを「BOMなし」と呼びます。


    BOMありとBOMなしの違い

    BOMあり

    • Excelなどで開くと文字化けしにくい

    • 日本語環境のExcelではBOM付きの方が安全に扱える

    BOMなし

    • Linux系のシステムやプログラムでは一般的

    • 余計なバイトが含まれないためシステム連携や自動処理で好まれる


    Sakuraエディタで違いが分からない理由

    Sakuraエディタはとても優秀で、UTF-8のBOMがあってもなくても正しく解釈して表示します。
    そのため、見た目では違いが分からないのです。
    他のソフトでは「」のような文字が先頭に表示されることもありますが、Sakuraではそうした問題は起きません。


    BOMの有無を確認する方法

    1. Sakuraエディタで確認

    • メニュー → ファイル文字コード指定して開く

    • 「UTF-8」または「UTF-8 (BOM付き)」が表示される

    2. バイナリエディタで確認

    • BOMあり:ファイル先頭に EF BB BF

    • BOMなし:すぐに「ID,名前,点数」などの内容が始まる

    3. コマンドで確認

    • Windows (PowerShell)



      → BOMありなら 239 187 191 が表示されます

    • Linux

      xxd -l 3 sample.csv

      → BOMありなら ef bb bf が確認できます


    利用シーン別の使い分け

    利用シーン おすすめ設定 理由
    ExcelでCSVを開く場合 BOMあり(UTF-8 BOM) 文字化けを防ぎ、正しく読み込める
    プログラムやLinux環境で処理 BOMなし(UTF-8) 不要なバイトがなく安定処理できる
    BOMの有無を確認したい場合 バイナリやコマンド 確実に判別可能

    まとめ

    CSVファイルの「BOMあり/なし」は目で見える違いはなく、特にSakuraエディタではどちらでも正しく開けます。
    しかし、Excelでの文字化けやシステム連携時の不具合を避けるためには、利用シーンに応じた使い分けが重要です。

    • Excel → BOMあり

    • プログラム処理 → BOMなし

    ぜひ状況に合わせて正しく選択してください。

BOMありのサンプル例

sample_bom

BOMなしのサンプル例

sample_no_bom

CSVファイルの項目をダブルクォーテーションで囲む方法

CSVファイルを扱っていると項目値をダブルクォーテーションで囲まれていないケースもあり、これを項目毎にダブルクォーテーションで囲ませたい時があります。こういう場合に手っ取り早くダブルクォーテーションを付与する方法をご紹介します。基本的にはEXCELとサクラエディタなどのエディタを併用する事で実現出来ます。

使用するソフト

  • Microsoft Excel ※特にバージョンは問いません
  • サクラエディタ ※秀丸など他のエディタでも可

CSVファイルへのダブルクォーテーションの付与手順

  1. Excelで対象のCSVファイルを開きます。ここでは「sample.csv」を開いています。
    「sample.csv」の内容は以下の通りです。
  2. Excelでcsvファイルを開いたらデータの最終行の次行へ以下の数式を入力します。今回は1行空けて見やすくA5セルへ入力しています。
    ⇒「=””””&A1&””””」
  3. A5セルへダブルクォーテーション付で値が表示されましたので次にA5セルの式をA5:C7セルまでコピペします。
    ※項目数、行数によってペーストする範囲は変更して下さい。
  4. ここまで項目単位にはダブルクォーテーションが付与された状態になったのでこの内容をサクラエディタへ貼り付けます。
    ただこのままではカンマ区切りではなくタブ区切りの状態なので今度はこれをカンマ区切りへ変更します。
  5. 「Ctrl + R」で置換ダイアログを表示し、「置換前」の文字へ「\t」、「置換後」の文字へ「,」(カンマ)を入力し、正規表現へチェック後に「全て置換」を選択します。
  6. これでダブルクォーテーション付与のカンマ区切りのCSV形式の内容になったのでこの内容を元のファイルと差し替えれば完了です。

補足:CSV のダブルクォーテーション処理で注意すべき点

1. 既にダブルクォーテーションが含まれている値への対応

  • データの中にすでに "(ダブルクォーテーション)が含まれている場合、それをどう扱うかを考えておく必要があります。
    例えば、値が He said "Hello" のようになっていたとすると、ただ前後に " を付けるだけでは "He said "Hello"" のように不正な CSV になります。

  • 通常は、内部に含まれる """ のように二重化してエスケープする手法を使います(CSV 規格の慣例)。
    例:He said "Hello""He said ""Hello"""

2. 区切り文字や改行、カンマを含む値

  • 値にカンマ , や改行 \n が含まれる可能性がある場合は、必ずそのフィールドをダブルクォーテーションで囲む必要があります。
    そうしないと、カンマが「別フィールドの区切り」と誤認されてしまいます。

  • したがって、値を囲む処理を行う際には すべてのフィールド に対して囲むようにしておいたほうが安全です。

3. 文字コード・改行コードの扱い

  • CSV ファイルを扱う際には、文字コード(UTF-8, Shift_JIS, etc.)や改行コード(CRLF, LF, CR)が混在していることがあります。
    作業前に統一しておいた方がトラブルが起きにくくなります。

  • 特に Excel で読み書きする際には、Excel の仕様(Windows 版 Excel は CRLF を期待するなど)を意識しておきましょう。

4. 自動化スクリプトでの生成・変換を検討

  • Excel+エディタによる手作業の方法は簡便ですが、データ件数が多かったり繰り返し処理が必要だったりする場合は、スクリプトで一括処理できる方法を使ったほうが効率的・安全です。
    例:

    • Python(pandas や csv モジュール)

    • PowerShell / Bash スクリプト

    • あるいは Excel VBA マクロ など

    これらを使えば、囲み処理、内部の " のエスケープ、文字コード変換などもあわせて一括で処理できます。

5. 検証・動作確認を忘れずに

  • 実際に処理後の CSV を別のプログラム(Excel やデータベースのインポート機能等)で読み込んで、意図した通りにフィールドが分割されているかを確認しておきましょう。

  • 特に本番データで使う前には、サンプルデータでテストを繰り返すと安心です。