On 24Sep2019 19:02, Skip Montanaro <skip.montan...@gmail.com> wrote:
How about just replacing *\(([^)]*)\)* with *"\1"* in a wrapper class's
line reading method?

Will that work if the OP's (TEST1,TEST2) term itself contains quotes? Not that his example data did, but example data are usually incomplete :-)

Also, that would match FOO(TEST1,TEST2)BAH as well (making FOO"(TEST1,TEST2)"BAH. Which might be wanted, or be not wanted or be bad data (including but not restricted to csv module unparsable data). I was deliberately being very conservative and kind of treating brackets like quotes (needest at start and end) but not trying to hit things in one go. Better to match exactly the special case you expect and then scour of mismatches than to incorrectly match and have that mistake buried in the data.

(I think I have the re syntax approximately right.)
The csv reader will "just work". Again, nesting parens not allowed.

Otherwise, a neat idea.

<snark>Besides, the point isn't the shortest code but to illustrate the idea of handling special syntax.</snark>

Cheers,
Cameron Simpson <c...@cskk.id.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to