diff --git a/examples/csv-data-loader/README.md b/examples/csv-data-loader/README.md index 9c51e2b..86b9f35 100644 --- a/examples/csv-data-loader/README.md +++ b/examples/csv-data-loader/README.md @@ -1,6 +1,6 @@ # CSV Data Loader -This is a simple [Foxglove](http://foxglove.dev/) [extension](https://docs.foxglove.dev/docs/visualization/extensions) that loads a CSV file. +This is a simple [Foxglove](https://foxglove.dev/) [extension](https://docs.foxglove.dev/docs/visualization/extensions) that loads a CSV file. The file must have a column called `timestamp_nanos` in order to be read. ## Building diff --git a/examples/csv-data-loader/package.json b/examples/csv-data-loader/package.json index 08dc52b..2adf3c2 100644 --- a/examples/csv-data-loader/package.json +++ b/examples/csv-data-loader/package.json @@ -23,7 +23,7 @@ "@types/react": "18.3.12", "@types/react-dom": "18.3.1", "@types/wicg-file-system-access": "2023.10.6", - "create-foxglove-extension": "1.0.4", + "create-foxglove-extension": "1.0.5", "eslint": "9.15.0", "prettier": "3.3.3", "react": "18.3.1", diff --git a/examples/csv-data-loader/rust/src/lib.rs b/examples/csv-data-loader/rust/src/lib.rs index 924b974..f73f2d8 100644 --- a/examples/csv-data-loader/rust/src/lib.rs +++ b/examples/csv-data-loader/rust/src/lib.rs @@ -43,6 +43,7 @@ impl DataLoader for CsvDataLoader { fn initialize(&mut self) -> Result { let mut reader = csv::ReaderBuilder::new() .has_headers(true) + .trim(csv::Trim::All) .from_reader(reader::open(&self.path)); // Read the headers of the CSV and store them on the loader. @@ -117,7 +118,10 @@ impl DataLoader for CsvDataLoader { row_to_flush: Default::default(), log_time_index: self.log_time_index, requested_channel_id, - reader: csv::Reader::from_reader(Box::new(reader)), + reader: csv::ReaderBuilder::new() + .has_headers(false) + .trim(csv::Trim::All) + .from_reader(Box::new(reader)), }) } // If there is no byte offset (we've gone past the last timestamp), return empty iter