3.CTWCで利用できるCSV

そもそもCSVファイルとは

ChatGTPに聞いてみました。

Q
CSVファイルとは何ですか?
パソコン初心者にも分かりやすく説明してください。
A

CSV(Comma-Separated Values)ファイルは、テキストファイルの一種であり、データを表形式で保存するためによく使用されます。CSVファイルは、カンマ(,)でフィールド(データの列)を区切り、改行でレコード(データの行)を区切ります。

例えば、以下のようなCSVファイルを想像してください。

名前, 年齢, 都市
John, 25, Tokyo
Lisa, 30, New York
Mike, 35, London

この例では、3つの列(名前、年齢、都市)と3つの行(John、Lisa、Mike)があります。各行は個々のデータレコードを表し、各列はそのレコードの特定の情報を表します。カンマは列を区切り、改行は行を区切るために使用されています。

CSVファイルの利点は、多くのアプリケーションで簡単に読み書きできることです。スプレッドシートソフトウェア(例:Microsoft Excel、Google Sheets)やデータベースアプリケーションなどでCSVファイルを開くことができます。また、プログラミング言語(PythonやJavaなど)でもCSVファイルを処理するためのライブラリや機能が提供されています。

パソコン初心者の方にとっては、CSVファイルはデータを表形式で整理して保存するための便利な方法です。特に、表形式のデータを編集したり、他のソフトウェアやプログラムとデータをやり取りする場合によく使用されます。

ほぼ原文のままですが、一部間違っていたので削除&修正しました。
初心者向けの割には硬い説明ですが、要するに

『1行が1件分で、各項目をカンマ区切りにデータを列記したファイル』です。

CSV=エクセルファイルではない

PCにエクセルをインストールすると、標準で拡張子 .csv がエクセルと結び付けられ、CSVファイルをクリックするとエクセルで開くようになりますが、CSVファイルはエクセルのファイルではなく、ただのテキストファイルです。

なので、メモ帳やサクラエディタなどのテキストエディタでも編集したり作成したりできますし、キャッサバなどのCSV専用エディタも存在します。

CSVファイルをエクセルで開くと、エクセルが勝手に色々と悪さをしてしまうので、私的にはCSVファイルをエクセルで開くことはお勧めできません。

詳しく知りたい方は『csvファイルをエクセルで開く 問題点』とググってみてくださいね!

ChatGTPは「知らないことを調べる」ことには向いてません。
あたかも本当のことのように嘘をつくので、「知ってることをどう説明するか参考にする」などの用途でないとヤバいことになりますよ!

逆に新規CSVファイルをエクセルで作ることには大きな問題ありません。

当マニュアルでも、Agent-HやAgent-TのジャンルID一覧等から、CSVファイルを生成する方法を紹介していますが、テキストエディタでやるよりも、エクセルを使った方法の方がスムーズに作れると思います。

CTWCで利用できるCSVのタイプ

区切り文字

本来CSVファイルはカンマ区切りですが、タブ区切りにも対応しています。
※内部でタブをカンマに変換します。

拡張子

ファイルの拡張子は .csv以外の場合はエラーとなります。

文字コード

・UTF-8
・UTF-8(BOM付)
・Shift_JIS
※内部的にUTF-8に変換します。

改行コード

CR、LF、CRLFのすべてに対応していますので気にしなくて大丈夫です。
※内部的にLFに変換します。

囲み文字(エンクロージャ)

CSVは各項目のデータをカンマで区切りますので、カンマを含んだデータがある時は2つの項目に分割されてしまいます。

例えば、カテゴリー名にカンマを含む場合(分かりやすくスペースを入れてます)
以下のように書くと、2列目に「トマト」3列目に「キュウリ」となってしまいます。

[1列目:slug]     [2列目:name]
yasai,          トマト,キュウリ

これを回避するために、CSVの仕様には囲み文字(エンクロージャ)というものがあり、カンマを含むデータをダブルクォーテーションで囲むことで分割せずに一つのデータとして扱わせることができます。

[1列目:slug]     [2列目:name]
yasai,          "トマト,キュウリ"

シングルクォーテーションにも対応しているプログラムもありますが、CTWCではダブルクォーテーションのみ対応となります。

エスケープはNG

データにダブルクォーテーションを含めることはできません。

CSVの仕様では “”プリン”” とダブルクォーテーションを重ねて書くことで、”プリン”というデータとして扱うことになっていますが、CTWCでは正しく読み取れません。

CTWCで利用できるCSVの内容

ポイント1

以下の2列が設定に必要な項目です。

1. スラッグ(任意)

通常はすべて半角小文字で、英数字とハイフンのみが使われます。
全角文字でもエラーにはなりませんが、汚いURLになるのでお勧めしません。

記事や画像ファイルのスラッグとも同じ扱いの管理になっているので、カテゴリーだけでなくそれらのスラッグとも重複してはいけません。

数が少ない時は英単語やローマ字を手打ちしても手間は知れていますが、
数が多い時は、cate001, cate002 ・・・ cate999 のように連番にすると良いでしょう。

web上から拾ってくる際は、ジャンルIDなど、重複しないIDを振ってあればそれを使っても構いません。

2.カテゴリー名(必須)

日本語でも英語でも構いませんが、サイドバーやカテゴリー一覧で表示されますので、日本人向けのサイトであれば日本語であることが望ましいです。

ポイント2

CTWCで読み込む際に、どの列がスラッグで、どの列がカテゴリーを管理画面上で指定できるので、見出しは必要ありません。

また、順番も関係ありません。

余計なデータが残っていても構いません。

何行目から取り込むかを指定できるので、見出し行やタイトルが残っていても構いません。

ポイント3

スラッグが半角数字だけの場合、ctwc1, ctwc2, ctwc3 という風に先頭にctwcが付きます。

これは、WPの仕様でスラッグが、記事や画像など、あらゆるもので共通管理されているため、
単純に 1 や 2だけだと、すでにWPが自動的に振っている何かのIDとバッティングする可能性が高いためです。

ポイント4

スラッグ列が無い場合は行番をスラッグとして利用できます。

一括処理時にスラッグを行番に指定した場合、ctwc1, ctwc2, ctwc3 という風に順番に付けていきます。

ただし、一括登録のたびに1番から振っていきますので、以前に実行したことがある場合はスラッグが重複してしまいますので注意が必要です。