04:51 2020/09/01

Разделитель в CSV

Возникла задача считать данные с CSV-файла, причем код уже есть, нужно только указать путь к файлу и выполнить команду запуска. Однако, обнаружилось, что новый файл отличается от того формата, под который уже написана функция чтения.

В прежнем коде разделитель указывался строго как запятая, а в новом файле использовалась точка с запятой. Можно просто заменить в этой строке запятую на точку с запятой и файл будет прочтен, но хочется не зависеть от этого. Что если в следующий раз файл снова окажется с разделителем-запятой - снова менять?

Стандартная библиотека csv в питоне предлагает добавить свои диалекты с нужным разделителем, а затем определять нужный диалект по первым байтам из файла. Схема выглядит рабочей.