Published
Edited
May 7, 2022
Importers
2 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data = FileAttachment("temperature.csv").csv()
Insert cell
Insert cell
Insert cell
Insert cell
Inputs.table(data)
Insert cell
Insert cell
import { SummaryTable } from "@observablehq/summary-table"
Insert cell
Insert cell
SummaryTable(data)
Insert cell
Insert cell
Insert cell
Insert cell
data_autoTyped = FileAttachment("temperature.csv").csv({ typed: true })
Insert cell
Insert cell
Insert cell
Inputs.table(data_autoTyped)
Insert cell
Insert cell
Insert cell
SummaryTable(data_autoTyped)
Insert cell
Insert cell
data_autoTyped[0].date.constructor.name
Insert cell
data_autoTyped[0].temperature.constructor.name
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
parseTime = d3.timeParse("%Y-%m-%d")
Insert cell
Insert cell
Insert cell
parseTime("2011-10-02")
Insert cell
Insert cell
Insert cell
data_manuallyTyped = FileAttachment("temperature.csv")
.csv() // no `{typed: true}` in `csv()`
.then((data) => {
data.forEach((d) => {
d.date = parseTime(d.date);
d.temperature = Number(d.temperature) / 1.8 - 32;

// ... convert temperature from Fahrenheit to Celsius. Formula: (fahrenheit / 1.8) - 32
// ... convert dates from string to Date object
});
return data;
})
Insert cell
Insert cell
Insert cell
Inputs.table(data_manuallyTyped)
Insert cell
Insert cell
Insert cell
SummaryTable(data_manuallyTyped)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
imageToDo
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more