WordPress(ワードプレス)やMacやxreaの他に、プラスひかげ的Webスタイル

ひかげStyle

CSVからHTML生成を量産について

はじめに

  • 概要:
    • この記事では、CSVからHTMLを自動生成するために試したツールや方法を振り返り、それぞれのメリットやデメリットのメモ書きです。自分が実際に経験したソフトウェアの選定理由や断念した理由、最終的にたどり着いた方法の記録です。(2025.4/12 現在)

1. 試したツールとその評価

過去にいくつかのCSVからHTML生成する量産ツールを試しましたが、それぞれに制限や問題点があり、最終的には自分に合った方法を見つける必要がありました。以下に、試したツールの個人的な評価とその経緯です。

  • bpTran(シフトjisが使いにくい、何かのタイミング(CSVデータで特定の漢字かテキスト文字)でHTML生成中に連番が飛ばされることに気付き、1週間未満で断念)
  • HTML 自動生成するノ(UFT-8が使えて、bpTranと同じようなシステムだったので購入して、しばらく使っていたことはある)

2017年ごろに、Win7からLinuxMintに乗り換えたので、Windowsベースのソフトを使うことを断念。

Mac(MacBook Pro 13-inch, Early 2011,macOS Sierra 10.12.5まで)は、CSVからHTML生成が量産できるソフト、アプリが見つけられず。

HTML自動生成ソフト (購入して使った結果)

HTML 自動生成するノ(2013-01-05、有料購入)

  • 購入当初の利便性:

    • 購入した当時は、CSVからHTMLを自動で生成できる便利さに驚きました。特にHTMLを量産する手間が省けた点は非常に良かったです。
  • 問題点と断念した理由:

    • LinuxMintをメインで使用中のため、Windows専用という点が大きな制約となり、最終的に使うのを断念しました。

Really Simple CSV Importer(WordPress)

  • 使ってみた結果:

    • WordPressを使っていた際、「Really Simple CSV Importer」を利用してCSVデータを簡単にインポートできる機能に便利さを感じましたが、2015年8月4日からプラグインの更新がされていないようで、将来の不安もあります。
    • WordPress自体が多機能になりすぎて、個人的なイメージから遠くなってきたので、総合的な観点からWordPressを使い続けることに対するモチベーションが下がりました。また、このプラグインはWordPress専用であるため、他の方法に切り替えることにしました。
    • 加えてレンタルサーバーやドメインも値上がりが続き、コスト面も合わなくなり、この方法も断念することに。
  • WordPressのデメリット:

    • WordPressで公開までの設計や構築が手間で、バージョンアップのサイクルも非常に短くなり、常に新しいバージョンに対応し続けるのが疲れました。
    • WordPressのバックアップやサーバーの引っ越しなどは初心者にとって簡単ではありません。
    • 使い勝手やPHPのセキュリティー面に不安があり、これを使い続けることで将来的に問題が起きる可能性を懸念しています。(普段使いとしてWordPressは、まだ使っています)

gulp + Node.js + npm(Linux Mint環境)

  • 構築したものの面倒になった理由:

    • 一度はLinux Mint環境で「gulp」「Node.js」「npm」を使って、CSVからHTML生成を量産する自動化を試みましたが、インストールの手順やパッケージの選定、各バージョンアップで環境の構築やコードの変更など、初心者レベルでは対応するのが非常に面倒でした。学習や手間がかかることに疲れてしまい、この方法も断念しました。
  • 教訓:

    • 開発者向けツールを使う場合は、スキルのレベル(プログラミングにおける技術的な能力や経験)・バージョン管理や依存関係の調整が必須です。メンテナンスが大変であることをよく理解し、ツール選びを慎重にするべきだと感じました。

Hugo(SSG)

  • 静的サイトジェネレーターの限界:

    • Hugoを使った静的サイトの生成も試みました。CSVデータからHTMLに変換する機能は非常に高速で便利でしたが、頻繁なバージョンアップや変更による学習コストもかかり、個人的にイメージと異なる部分も出てきました。(Hugoは、ほとんどノーマル仕様で使っています)
  • 教訓:

    • 静的サイトジェネレーターは非常に便利ですが、英語がベースで学習や設定も含めて初心者レベルではバージョン管理に追いつくのも大変です。静的サイトを選ぶ場合は、そのメンテナンスや学習コストも考慮する必要があると感じました。

2. 最終的に選んだ方法

これまでの経験を踏まえ「結局は自作のプログラム」になりますが、以下の方法でCSVからHTML生成を量産しています。

いわゆる昔ながらのFTPアップロード方式は、管理やバックアップ、サーバーの引っ越しや移転なども初心者には楽に感じます。(LinuxMint 21.3 が前提)

CSVは汎用性が高く、Excel(エクセル)やLibreOfficeのCalc(カルク)、Googleスプレッドシートでの一覧性や管理・修正も初心者には使いやすさを感じます。

LinuxMint(21.3)は、初期インストールで「Python + LibreOfficeのCalc(CSV) + Mako」が導入されているので、すぐに使える環境が整います。(SSD換装でクリーンインストールから小一時間くらい)

Python + CSV + MakoによるHTML自動生成

  • 選んだ理由:
    • Pythonを使ってCSVを読み込み、Makoでテンプレートを使ってHTMLを生成する方法に落ち着きました。Pythonは環境依存が少なく、メンテナンスもしやすい点が魅力です。
    • この方法は、一度スクリプトを作成すれば、何度でも再利用できるため、効率的で安定しています。
    • また、Pythonは柔軟にカスタマイズできる点が非常に便利です。

3. HTML生成を自動化する流れ

実際にどのように自動化を行っているのか、その流れを簡単に紹介します。

  1. CSVファイルの読み込み:
    • PythonからCSVデータを簡単に読み込むことができます。
  2. テンプレート化:
    • Makoを使用してHTMLのテンプレートを作成し、CSVデータを埋め込む部分を変数として設定します。
  3. HTMLファイルの出力:
    • Makoのテンプレートにデータを適用したHTMLファイルを生成します。

これにより、CSVデータを更新すれば、スクリプト(プログラム)を実行するだけで新しいHTMLが自動で生成されます。

4. まとめ

これまで試してきたツールや方法には、それぞれメリットとデメリットがありました。

高度なシステムや多機能は特に不要なので、最終的に自分の環境やニーズに最も合う方法を選んだ結果、「LinuxMint 21.3 + Python + CSV + Mako」を使ったHTML自動生成が非常に効率的で安定していることが分かりました。

ネットショップで商品登録や商品管理などにも似ていますが、初心者でも扱いやすいことを考えたときに、この方法を使うことで、データ更新や管理も簡単に行えるようになり、個人的に理想的なツール(プログラム)ができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です