Tabular Format: Structure Data for a Public Page
Learn what tabular format means, how to structure rows and columns, and what to check before publishing a spreadsheet as a public dataset.

To publish monthly library visits, start with a table where each row represents one branch in one month, and each column has a consistent meaning. Readers should be able to filter by branch or compare months without interpreting merged cells, colors or footnotes inside the data.
Tabular format means arranging data in rows and columns. Each row describes a record, each column describes a property, and their intersection is a cell. Rows have the same number of cells, though some may be empty. This follows the W3C’s model for tabular data.
What tabular format looks like
Here is a fictional sample dataset, not actual library statistics:
| branch_id | branch_name | month | visits |
|---|---|---|---|
| B01 | Central | 2026-08 | 12400 |
| B02 | Riverside | 2026-08 | 6800 |
| B01 | Central | 2026-09 | 11950 |
| B02 | Riverside | 2026-09 | 7100 |
The structure answers three questions:
- What does one row mean? One library branch’s monthly visit count.
- What identifies it? The combination of
branch_idandmonth. - What does each value mean?
visitsis a count, not a percentage or a count in thousands.
The same table can be represented as CSV:
branch_id,branch_name,month,visits
B01,Central,2026-08,12400
B02,Riverside,2026-08,6800
B01,Central,2026-09,11950
B02,Riverside,2026-09,7100
Tabular format is a structure, not one file extension. CSV, TSV, spreadsheets and HTML tables can all represent tabular data. The W3C model explicitly covers these different representations. Changing the extension alone does not fix an unclear table.
Prepare a spreadsheet for publication
1. Define the row before choosing columns
Write a sentence such as “Each row is one branch in one month.” Use it to decide which records belong together.
Do not mix branch-month records with annual totals or individual visitor records in the same data table. Keep summaries separate so readers do not accidentally count both detail rows and totals. In this example, check that each branch_id–month combination appears only once.
For analysis-ready data, the tidy-data convention gives a useful starting point: one variable per column, one observation per row and one value per cell. It is more specific than merely having a visible grid.
2. Replace visual layout with explicit values
For a straightforward publishing file, use one header row and a continuous block of records:
- Replace merged group labels with a column that repeats the group on every applicable row.
- Remove blank spacer rows and repeated headers from the data block.
- Give columns distinct names, such as
visitsandmonth, rather than two columns calledValue. - If color means “provisional,” add a
statuscolumn instead of relying on the color alone.
Repeating a branch name is intentional: the record should remain understandable after filtering or reordering.
3. Choose a layout that fits the reader’s task
A wide table with august_visits and september_visits can work for a small, fixed comparison. Both wide and long layouts are tabular.
For an ongoing monthly dataset, prefer the sample’s long layout: month is a column, and new months add rows. That makes the time period an explicit value readers can filter rather than part of a header.
4. Document units and missing values
Keep counts numeric and use one consistent date representation. For monthly observations, 2026-09 is a useful convention; explain that it means September 2026.
Do not replace an unknown count with zero. Document whether an empty value means “not reported,” “not applicable” or something else. If several reasons occur, add a separate status field.
Alongside the table, provide its source, coverage period, release date, units and any transformations. Use the guide to data table captions and summaries to turn those notes into reader-facing context.
Publish and check the result
As of October 6, 2026, TablePage lists CSV, TSV, XLSX and XLS uploads and describes generating a public dataset page with a shareable link and filterable table. Upload only a reviewed publication copy—never sensitive information.
Before upload, reopen the exported file and check the headers, row count, dates and representative values. For delimiter and quoting checks, see the CSV file-format guide.
If you publish the fictional sample, filtering to B01 should leave exactly two records, one for each month. Check that their visit counts remain attached to the correct months. For your own dataset, choose a similarly small, known subset and verify it before sharing the link.