「csv」タグアーカイブ

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形式の内容になったのでこの内容を元のファイルと差し替えれば完了です。