我有一个“CSV”,其中某些数据字段恰好包含逗号分隔符,如以下示例数据的第二行所示。
"1","stuff","and","things"
"2","black,white","more","stuff"
我无法更改源数据,也不知道如何 str.split() 并且不拆分值“black,white”。
我解决问题的方法:
- 我查看了partition(),但不知道这对我有什么好处。
- 我确信正则表达式可以正确捕获数据,但我不确定如何将其与拆分结合起来。
- 由于源中的每一行始终具有相同数量的字段,我认为设置 maxsplit 可能会有所帮助,但我说服自己放弃了这一点,因为我认为它仍然会在“黑,白”内分割,而我最终会失去最后一个值(在本例中为“东西”)。
当然,这很容易克服,所以我期待学习新的东西!
非常感谢您的帮助。
最佳答案
>>> import csv, StringIO
>>> data = """"1","stuff","and","things"
... "2","black,white","more","stuff"
... """
>>> reader = csv.reader(StringIO.StringIO(data))
>>> for row in reader:
... print row
...
['1', 'stuff', 'and', 'things']
['2', 'black,white', 'more', 'stuff']
关于Python 在字段值中使用分隔符进行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243461/