PAPER HARBOR / FIELD NOTES

CSV quiz template: columns, examples and import fixes

Keep your questions in a spreadsheet. Give each one a row, check the answer column, and let the import report tell you what needs attention.

Start with a file that already works

Download the example, open it in your spreadsheet editor and replace its synthetic questions with material you have permission to use. Save or export the sheet as UTF-8, comma-separated CSV. Renaming an Excel workbook to .csv does not convert it.

On the quiz maker, choose Import question CSV. You can also open Paste spreadsheet or CSV and paste a rectangular range copied from Excel or Google Sheets, including the template header row. Tab-separated cells and comma-separated CSV are detected from the header. Keep empty cells in the range; do not remove a blank middle choice. A workbook file itself still needs CSV export.

The smallest useful row

This one-question example uses four choices and no shared passage. The numeric answer is 2 because goes is in option2.

question_id,question,option1,option2,option3,option4,answer
grammar-01,She ___ to the library every Friday.,go,goes,going,gone,2

The answer column refers to the original option number. After choices are shuffled, the saved answer key shows the new letter automatically.

Column reference

ColumnUseExample or rule
option1–option4RequiredAll four must contain text. A missing middle choice is an error.
answerRequiredA whole number from 1 to the number of actual choices. No letters or decimals.
questionQuestion promptA row needs question text or passage text.
option5Optional fifth choiceLeave empty, or omit this column entirely, for four choices.
question_idRecommended stable source IDgrammar-01. Must be unique within one imported bank.
lectureUnit filterUnit 1. Empty values appear as Unassigned.
typeQuestion-type filterDetail, Grammar or a label of your choice.
passage_idShared passage IDgarden. Only matching IDs in one bank are grouped.
passageReading textRepeat the same text on rows sharing the passage ID.
numberOriginal question number12. Printed separately from the new exam question number.
lock_optionsPreserve choice ordertrue or false. Use true for order-dependent answers.
explanationAnswer-key explanationOptional; it is not shown on the question paper.
sessionSource metadataRetained in backups; no session filter in this pilot.

Legacy Korean column aliases are also accepted for units, passage IDs, source numbers, types, passages, choices and answers. Review-status columns never become explanations.

What the import report means

Usable includes clean rows and rows with warnings. Excluded rows are not added to the question pool. A warning needs your attention but does not automatically remove the question. Download the report to keep the line numbers and reasons while you fix the source.

In the error exampleWhat happensHow to fix it
Line 4: blank option2Excluded; later options are not moved left.Restore the missing choice and check the answer number.
Line 5: answer 5, only four choicesExcluded.Correct the answer or supply a real fifth choice.
Line 6: conflicting shared passageUsable with a warning; the first valid row is the representative.Make the passages match, or give unrelated passages different IDs.

The sample report has five data rows: three usable, two excluded and one warning. The warning is already included in the three usable rows. Line numbers are physical file lines, not necessarily spreadsheet row numbers when quoted text contains line breaks.

Commas, quotes and line breaks

A field containing a comma or a line break must be wrapped in double quotes. A literal double quote inside that field is written twice. Your spreadsheet’s CSV exporter normally handles this.

"A short notice says, ""Please return books today."""

If a closing quote is missing, the entire import stops with a syntax error. The existing saved workspace stays unchanged. Fix the CSV before trying again. Files larger than 5 MB or more than 2,000 question rows are outside this pilot’s limit.