Issue15158
Created on 2012-06-24 03:47 by Ramchandra Apte, last changed 2013-03-09 03:31 by Ramchandra Apte. This issue is now closed.
Messages (6) | |||
---|---|---|---|
msg163708 - (view) | Author: Ramchandra Apte (Ramchandra Apte) * | Date: 2012-06-24 03:47 | |
It would be nice if csv supported multi-character delimiters. I need it for my project. Another person had this problem: http://stackoverflow.com/questions/6352409/how-to-use-python-csv-module-for-splitting-double-pipe-delimited-data . |
|||
msg163709 - (view) | Author: Ramchandra Apte (Ramchandra Apte) * | Date: 2012-06-24 03:51 | |
BTW, conincidentally just like the stackoverflow, even I want to split double pipes |
|||
msg164440 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2012-07-01 00:45 | |
Did you read "Unfortunately, delimiter is represented by a character in C." in one of the answers? If so, this should be rejected. For the posted problem, I added the following. >>> list(s[1:-1] for s in '"1234"||"abcd"||"a1s1"'.split('||')) ['1234', 'abcd', 'a1s1'] re.split is intended for general splitting tasks. The SO had other posted solutions that also do the job. So I do not see the need. Using commas both within quoted fields and between fields is semi-sensible, or at least widely done. Anyway, csv was designed for that and then generalized. I do not see the need to cater to something as foolish and rare as using a multichar delimiter that is also within fields. I suggest you post enhancement ideas on python-ideas first, as it is a better place for discussion and reaches more people. |
|||
msg171947 - (view) | Author: Ramchandra Apte (Ramchandra Apte) * | Date: 2012-10-04 14:02 | |
> I do not see the need to cater to something as foolish and rare as using a multichar delimiter that is also within fields. I need to generate tables for Google Code wikis. |
|||
msg183766 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2013-03-08 21:44 | |
You did not explain why it is *impossible* for you to use any of the other solutions. In any case, I looked at the C code. It defines delimiter (as well as quotechar and escapechar) as a single unicode char. This is different from Python which does not have a char type but uses strings (arrays) of length one as a substitute. Redefining delimiter as an array of unicode chars, as you propose, would complicate the code. It will take a much stronger case than one person's 'It would be nice' to motivate someone with the needed C skills to do the revision. It would as least slightly slow down all single char uses. It would be easier and more useful, in some ways, to write a Python csv version. You might look elsewhere for an enhanced csv reader that handles multi-char delimiters. Searching just pypi for 'csv' returns perhaps 50 hits. If you really want to pursue this for the stdlib, follow my suggestion of posting to python-ideas and reference this issue. |
|||
msg183788 - (view) | Author: Ramchandra Apte (Ramchandra Apte) * | Date: 2013-03-09 03:31 | |
I have posted on python-ideas. On 9 March 2013 03:14, Terry J. Reedy <report@bugs.python.org> wrote: > > Terry J. Reedy added the comment: > > You did not explain why it is *impossible* for you to use any of the other > solutions. In any case, I looked at the C code. It defines delimiter (as > well as quotechar and escapechar) as a single unicode char. This is > different from Python which does not have a char type but uses strings > (arrays) of length one as a substitute. Redefining delimiter as an array of > unicode chars, as you propose, would complicate the code. It will take a > much stronger case than one person's 'It would be nice' to motivate someone > with the needed C skills to do the revision. It would as least slightly > slow down all single char uses. It would be easier and more useful, in some > ways, to write a Python csv version. > > You might look elsewhere for an enhanced csv reader that handles > multi-char delimiters. Searching just pypi for 'csv' returns perhaps 50 > hits. If you really want to pursue this for the stdlib, follow my > suggestion of posting to python-ideas and reference this issue. > > ---------- > nosy: +skip.montanaro > resolution: -> rejected > stage: test needed -> committed/rejected > status: open -> closed > > _______________________________________ > Python tracker <report@bugs.python.org> > <http://bugs.python.org/issue15158> > _______________________________________ > |
History | |||
---|---|---|---|
Date | User | Action | Args |
2013-03-09 03:31:36 | Ramchandra Apte | set | messages: + msg183788 |
2013-03-08 21:44:32 | terry.reedy | set | status: open -> closed nosy: + skip.montanaro messages: + msg183766 resolution: rejected stage: test needed -> resolved |
2012-10-04 14:02:09 | Ramchandra Apte | set | messages: + msg171947 |
2012-07-01 00:45:03 | terry.reedy | set | versions:
- Python 3.3 nosy: + terry.reedy messages: + msg164440 stage: test needed |
2012-06-29 18:52:10 | tshepang | set | nosy:
+ tshepang |
2012-06-24 03:51:23 | Ramchandra Apte | set | messages: + msg163709 |
2012-06-24 03:47:25 | Ramchandra Apte | create |