A trivial CSV line could be spitted using string split function. But some lines could have ", e.g.
"good,morning", 100, 300, "1998,5,3"
thus directly using string split would not solve the problem.
My solution is to first split out the line using , and then combining the strings with " at then begin or end of the string.
What’s the best practice for this problem?
I am interested if there’s a Python or F# code snippet for this.
EDIT: I am more interested in the implementation detail, rather than using a library.
There’s a csv module in Python, which handles this.
Edit: This task falls into “build a lexer” category. The standard way to do such tasks is to build a state machine (or use a lexer library/framework that will do it for you.)
The state machine for this task would probably only need two states:
By the way, your concatenating solution will break on
"Field1","Field2"or"Field1"",""Field2".