Importing CSV data for dataviz

With geometry nodes and the spreadsheet, I was wondering if there would ever be plans to have ‘Fake-User’ spreadsheets where the data isn’t being used by anything in the scene but yet still exists. Much like a texture field.

Perhaps a ‘CSV Node’ which loads in CSV data like an image texture. The outputs could be columns and rows and a toggle between batch output or iterable output. So either get all the info per column/row, or just get a single entry per column/row to animate time-series data.

My institute is getting into data visualization and Blender is my renderer of choice, but I still need a lot of python scripting to load in data to be used. Which is not as convenient or efficient as a node based workflow. I think being able to load CSV data to be used by geometry nodes would greatly enable dataviz with Blender. Plus it will be easier to convince my colleagues to join the cult.

2 Likes

I think being able to load csv and other file formats directly in geometry nodes will be a great improvement. There are no immediate plans for this currently. For the time being I recommend you write an addon/script that loads a csv file and creates a mesh or point cloud from the data. You can add each column as an attribute. The remaining data processing can be done with geometry nodes.

4 Likes

It’s hacky but I think that should work just fine in the meantime. Thanks Jacques.

This is why I think a script node would be such a good idea. Python would probably be fine to use as the scripting language in a Geometry script node. You could call on toolkits like PANDAS or even a DBMS to pull in data from outside on demand.

2 Likes

There’s a python api node here. If you look in the thread they’ve got some really cool results while using it. Just go to the github and copy and run the code there in your Blender script window.

A node which reads in text files, like csv is a great idea I would appreciate too to have in Blender !
Hope developers include it in the near future.

This won’t help in this case
This is a python API evaluation node, it does not run script :slight_smile:

Yeah, what Jacques said. If that strikes you as hacky, we can call it an Adaptor Class to give it some style. Blender already has the Python csv module. Read your file, stuff your attributes and you should be golden.