I was just trying out the export json/csv functionality on a datatable (originally made in a csv in google sheets). I examined the exported files and they are pretty dang weird:
What’s with all the crazy extra characters in the json output? The csv is similar except only the column titles have the extra characters opening it in Excel.
(Obviously) the exported csv is not reimportable so I guess that has to be a bug as of 4.10.4
Dont mind it, i think it’s some sort of property serialization info from struct.
with this struct
i get this in proper csv editor
but this in notepad
Yeah that’s what my data looked like, but I wasn’t able to reimport that data in any way, so to me that makes it useless to export without a parser to strip that info.
It wasn’t a ‘fresh’ project persay, but the easiest way I can think to repro would be:
1)Create a simple struct for the Data Table row.
2)Go into google sheets, create a table that respects the struct created with a few entries.
3)Download the csv of that table, and import using the struct into Unreal.
4)Now simply export the datatable as a csv or json and examine the data.
5)Try importing the exported csv.
I was able to reproduce this and have entered a bug report, UE-29958, to be assessed by the development staff. Unfortunately, I did not reproduce the error you are seeing where you cannot re-import the asset. Do you have a csv table that this is occurring in I can look at?
Ok so uh I can’t get it to reproduce the export from unreal → reimport error it’s possible I had a mismatch on the row struct?
that could possibly be the case, if your row/column names did not match I could see that possibly causing the error.
BTW that serialization gobbledygook appears when data rows are passed around, it doesn’t seem to affect anything but readability when watching variables get passed around.
This bug was closed as By Design. The reason behind this is that the struct in question is user defined. When we export the data we use the raw property name, which when exported looks as you have described. When it is re-imported to the editor it is given the friendly display name the user defines in the struct initially as meta-data. If the struct was defined in c++, the raw data would match the property data upon export. Overall it is the same information in both locations and should not affect the import/export.
I just want to add one comment here as a suggestion - could the raw data be stripped from the blueprint debugging? It makes it really hard to read what’s being passed around while using breakpoints etc. Thanks!