CSV 取り込みガイド
CSV ファイルでカードをまとめて取り込む方法と、AI に問題を作らせる活用例を紹介します。
カードは1枚ずつ作るだけでなく、CSV ファイルからまとめて取り込むこともできます。大量の単語リストの一括登録や、AI に作らせた問題の取り込みに便利です。
記法リファレンス
以下は Tango Note リポジトリの README(v2.6.0)「記法リファレンス」節の転載です。
type 列の値 (大文字小文字・全角半角は区別しない)
| タイプ | 受け入れる値 |
|---|---|
| 基本 | basic, b, 基本, 一問一答 (type 列なし・空欄もこれ) |
| ○× | truefalse, tf, ox, ○×, マルバツ, 正誤 |
| 選択式 | choice, c, 選択, 択一, 選択式 |
| 穴埋め | cloze, 穴埋め, 空欄 |
| 記述 | written, 記述, 記入 |
| 並べ替え | ordering, 並べ替え, 並び替え |
| 数値 | numeric, 数値, 数値計算 (number・数 は不可 — 別の意味の列を誤認しないため) |
| TeX | tex, TeX, 数式 |
解釈できない値の行はスキップされ、行番号付きで警告される。ただし type 列の値がどれも上の表に一致しない場合は列ごと無視され、全行が基本タイプとして取り込まれる (品詞など別の意味の “type” 列を持つ既存 CSV の互換のため)。
タイプ別の CSV 列
| タイプ | question 列 | answer 列 | その他 |
|---|---|---|---|
| 基本 | 表面 | 裏面 | — |
| ○× | 問題文 | ○/× 記号 (下表) | — |
| 選択式 | 問題文。正解の個数を示したい場合はここに書く (出題画面は個数を自動表示しないため。書かなければ「全て選べ」型になる) | 正解番号 (1始まり, 複数は 1,3 のようにカンマ/スペース区切り, 全角可) |
option1..option8 に選択肢 (空セルは詰められる。空セル以降の番号を正解に指定した行はエラー — 暗黙の番号補正はしない) |
| 穴埋め | [[...]] を含む本文 |
(使わない) | [[...]] がない行はスキップ |
| 並べ替え | 問題文 | 項目を正しい順に ` | 区切り (例:起床|朝食|出勤`) |
| 記述 | 問題文 | 正解。複数の正解は | 区切り (例: 東京|とうきょう)。| そのものを含む正解が必要な場合はアプリ内で手入力する |
— |
| 数値 | 問題文 | 値。任意で空白のあとに単位 (例: 3.00e8 m/s, 単位なしは 9.8 だけ)。指数表記の有効数字は保持される |
許容誤差・有効数字は CSV では持たず、アプリで設定する |
| TeX | 問題文 | TeX ソースそのもの (例: \frac{1}{2})。| 分割はしない。matplotlib mathtext 互換の TeX |
— |
○× 記号として受け入れる値 (NFKC 正規化後に判定)
| 真 (○) | ○ ◯ o O true t 1 正 真 はい yes y |
|---|---|
| 偽 (×) | × ✕ x X false f 0 誤 偽 いいえ no n |
並べ替えの記法 (v2.4.0)
answer 列に項目を正しい順で | 区切りに並べる (記述タイプと同じ
記法の再利用)。option 列は使わない。
type,question,answer,notes
ordering,次の手順を正しい順に並べよ,手を洗う|材料を切る|火にかける,
- 項目は 2〜8 個。出題時にシャッフルされ、学習者が正しい順に選び直す。
- 項目自体に
|は含められない (記述タイプと同じ制限)。含めたい場合は GUI のカード編集ダイアログで直接入力する。 - 同じ文字列の項目が複数あってもよい (採点は表示位置ではなく元の順序で 行うため)。
[[...]] 記法 (穴埋め)
[[隠す部分]]が空欄になる。1 枚のカードに複数置ける (出題時は [ 1 ] のように連番表示)。\[[はエスケープでリテラルの[[になる。- 閉じられていない
[[・空の[[]]・行をまたぐ[[...]]はそのままテキスト表示 (エラーにならない —$数式と同じ寛容ルール)。 - 入力モード (v2.5.0、デッキ単位): デッキ設定で有効にすると、出題画面が空欄ごとに入力欄を出し、全空欄が記述の照合ルールで一致したときだけ正解 (部分点なし)。惜しい場合は「実は正解」で訂正できる。OFF のときは従来どおり開示 + 自己申告。
記述タイプの照合ルール (v2.1 固定)
入力と正解の両方を「前後空白除去 + Unicode NFKC 正規化 + 大文字小文字無視」してから完全一致で判定する。全角半角の揺れ (Tokyo と tokyo など) は自動で吸収される。惜しい表記揺れで不正解になった場合は「実は正解」ボタンで訂正でき、SRS も正答として記録し直される。
- 誤字許容 (v2.5.0、デッキ単位・既定 OFF): デッキ設定で有効にすると、正解のいずれかと編集距離 1 (1 文字の挿入・削除・置換) 以内の入力も正解として受け入れる (空入力は対象外)。重要な用語・正確な表記が必要な問題には非推奨 — 1 文字の違いで誤答が通ってしまうため。
数値タイプの記法・採点 (v2.5.0)
答えは文字列として保存する (3.00e8 の有効数字を残すため)。符号・小数点・指数表記 (3.00e8, 1.2e-3) を受け付け、それ以外 (語・範囲・埋め込み単位) は「数値として読めない」と扱う。
- 値の一致: 許容誤差なしは
math.isclose(相対 1e-9・絶対 1e-12) で、56/56.0/5.6e1は同じ値として一致する。相対許容誤差を設定すると|入力 − 正解| / |正解| ≤ 許容誤差で判定する (正解が 0 のときは絶対量|入力| ≤ 許容誤差)。 - 単位: 設定した場合のみ照合し、前後空白を除いた文字列完全一致 (意味的同一視はしない —
m/sとメートル毎秒は別)。出題画面は単位欄を出す。 - 有効数字: 設定した場合のみ、入力の桁数と一致するか調べる (先頭 0 は数えない・末尾 0 は小数点か指数があるときだけ数える・間の 0 は常に数える)。
- 採点は 値 → 単位 → 有効数字 の順で、最初に外れた理由を返す (値は正しいが単位/桁数が違う、など)。惜しい誤りは出題画面が理由を表示し、「実は正解」で訂正もできる。
TeX タイプの記法・採点 (v2.5.0)
答えは TeX ソースをそのまま保存する。編集ダイアログと出題画面に mathtext のライブプレビューが付く。採点は自己申告を基本とし、正規化して完全一致したときだけ自動で正解にする (自動で不正解にはしない)。
- 正規化は保守的で、空白の除去と
\dfrac/\tfrac→\fracの畳み込みのみ。波括弧 (x^{2}とx^2) や\left…\rightは区別したまま (過度な同一視をしない)。 - 一致しなかった場合は正答と自分の答えを数式で並べて表示し、
y/nで自己申告する。 - 表示は常に数式レンダリング (デッキの「数式レンダリング」設定に関わらず)。matplotlib mathtext 互換の TeX を使う。
Markdown / 数式の入れ子について
**太字** の中に $数式$ を入れると両方ともリテラル表示になる (入れ子は非対応)。太字と数式は別の位置で使うこと。
最新の記法は、GitHub の README もあわせてご覧ください。
AI に問題を作らせる
ChatGPT などの AI に、Tango Note がそのまま読み込める形式で問題を作らせることができます。以下は○×問題を作らせるプロンプトの例です。コピーして、トピック部分を書き換えてお使いください。
以下の形式のCSVで、[トピックをここに書く] に関する○×問題を10問作成してください。
条件:
- 1行目は次のヘッダーにしてください: type,question,answer,explanation
- type 列はすべて tf としてください
- answer 列は ○ または × のみで記入してください
- explanation 列には正誤の理由を1文で書いてください
- フィールド内にカンマや改行を含む場合は必ず "..." で囲んでください
- 出力はCSVのコードブロックのみとし、前後の説明文は不要です
例:
type,question,answer,explanation
tf,善意とは事情を知らないことである,○,民法上の善意は知・不知の問題である
AI が出力した CSV をファイルとして保存し、Tango Note に取り込めば完了です。取り込んだ直後は「1日の新規カード上限」のしくみにより、少しずつ「今日の復習」に混ざっていきます(詳しくは復習のしくみをご覧ください)。