kevin-montrose / Cesil

Modern CSV (De)Serializer
MIT License
65 stars 3 forks source link

Do Cesil's Options provide everything needed in a CSV library? #10

Open kevin-montrose opened 4 years ago

kevin-montrose commented 4 years ago

This was posed in Overthinking CSV With Cesil: CSV Isn’t A Thing.

Essentially, are the configurations exposed via Options adequate?

This was restated as:

Are there any missing Format-specific options Cesil should have?

in Overthinking CSV With Cesil: “Maximum” Flexibility

This is an Open Question, which means:

[A]s part of the sustainable open source experiment I detailed in the first post of this series, any commentary from a Tier 2 GitHub Sponsor will be addressed in a future comment or post. Feedback from non-sponsors will receive equal consideration, but may not be directly addressed.

fjmorel commented 4 years ago

Pretty sure our codebase outputs a file using double-pipes || as a delimeter for a third-party report. So we sometimes need more than one character as a delimeter.

kevin-montrose commented 4 years ago

@fjmorel iiiinteresting - the thought had crossed my mind but I couldn't dig up a concrete example. Is it possible for you to share more details (like, the subject matter or third party, really anything to contribute to grounding the use case)?

fjmorel commented 4 years ago

Hmm, I could have sworn we had something like this, but am not finding it anymore.

We definitely have #*# though, in some reports generated for a music label.

writer.WriteLine(string.Join("#*#", arrayOfValuesWeDidNotEscape));
fjmorel commented 4 years ago

btw, the Overthinking CSV With Cesil: CSV Isn’t A Thing link goes nowhere. Same for the first post of this series link.

kevin-montrose commented 4 years ago

Ah, thanks for pointing that out - I've fixed the links in the issue.

That's a pretty concrete example, a second thanks for sharing it. I'll proof out making Options.ValueSeparator a string in a branch - the write side should be simple, the read side might take a bit...

kevin-montrose commented 4 years ago

The full change is ready in #12 now.