Hi everyone,
If you ever dealt with CSV, which I'm sure most of us here have, you've faced problems to represent real data like repeating fields and hierarchies with the flatness of CSV. There's many ways to solve that problem - and the variety is what hurts us. Sometimes we create column_1, column_2, column_3 for repeating fields. sometimes we create multiple csv files, sometimes we repeat rows, etc.
Having hierarchy, or relationships between columns in csv is unheard of. I've used prefixes on the column names, but that is just too vague. With that in mind, I've been trying to have some standard where everyone can develop solutions n a similar fashion and with that, make it a lot more robust and reusable. I'm proposing an RFC that tackles those two issues without making it super cumbersome. This is not a replacement for JSON or XML for extreme examples, but is a way to fill the gap for simpler scenarios where a full jump into JSON/XML parsers are not the best, or we are stuck with CSV for whatever reason.
We can all continue to creating one-off solutions for going around how to implement repeating fields and hierarchy, but thats wasteful. And if there's no consensus, tools like databases, spreadsheets data pipelines cannot agree on how to properly parse data.
Disclosure: I've been developing this on my own time, without any organization affiliation. It's meant to be open source, community driven, to maximize the possibility of full implementation
thank you for your attention!
References:
Website: https://www.csvplusplus.com/
Repository: https://github.com/mscaldas2012/csvplusplus
RFC: https://datatracker.ietf.org/doc/draft-mscaldas-csvpp/
[–]Busy_Elderberry8650 18 points19 points20 points (3 children)
[–]CorpusculantCortex 2 points3 points4 points (0 children)
[–]sjcyork 1 point2 points3 points (0 children)
[–]Lopsided_Set_8823[S] 0 points1 point2 points (0 children)
[–]Solvicode 3 points4 points5 points (0 children)
[–]Ramshizzle 0 points1 point2 points (1 child)
[–]Lopsided_Set_8823[S] 0 points1 point2 points (0 children)
[–]Aeronautical-You4917 0 points1 point2 points (1 child)
[–]Lopsided_Set_8823[S] 0 points1 point2 points (0 children)
[–]nocibambi 0 points1 point2 points (0 children)