Ответ
Ответ не найден
Ответ 18+ 🔞
Ну, вот смотри, какую хуйню я вчера на работе разгребать пришлось. Сижу, значит, пишу на этом вашем Python, и тут мне надо строку разбить на части по запятой. Делаю я, как нормальный человек, через split(','). И тут, блядь, выясняется, что в строке-то запятые могут быть в кавычках, и их резать нельзя! Представляешь, пиздец? Я сижу, смотрю на это всё, и у меня терпения ноль, ебать.
Вот, например, есть у нас строка: 'один,два,"три,четыре",пять'. Если тупо через сплит, то получится хуйня: ['один', 'два', '"три', 'четыре"', 'пять']. Видишь? Он "три,четыре" разъебал на две части, а это же одно поле было, в кавычках! Нахуй так можно?
Короче, пришлось мозги включать. Оказывается, для этого дела есть целый модуль csv, который не только для файлов, но и для таких строк подходит. Смотри, какой фокус:
import csv
from io import StringIO
строка = 'один,два,"три,четыре",пять'
читалка = csv.reader(StringIO(строка))
результат = next(читалка)
print(результат) # ['один', 'два', 'три,четыре', 'пять']
Вот это уже дело! Он кавычки снял и запятую внутри поля не тронул. Красота, да? А я-то сначала на регулярки полез, чуть не обосрался, пока не нашёл этот способ. Иногда стандартная библиотека — просто ядрёна вошь, спасает от велосипедостроения.
Так что запомни: если тебе нужно строку по запятой пилить, но там могут быть кавычки — не выёбывайся, бери csv.reader. Сэкономишь кучу нервов и времени, которое можно потратить на что-то более полезное. Например, на кофе. Или на то, чтобы послать нахуй того, кто такие данные генерирует.