Я пытаюсь использовать библиотеку журналов в Python для записи списков строк в файл журнала CSV
Создание логгера:
export_logger = logging.getLogger('exportLogger')
export_logger.setLevel(logging.INFO)
file_handler = logging.FileHandler('export_log.csv',mode='w')
export_logger.addHandler(file_handler)
export_logger.info(",".join(['status', 'view', 'filename', 'stdout', 'stderr', 'time']))
Регистрация:
column_list = [status, view, filename, out, err, current_time]
message = ",".join([str(item) for item in column_list])
export_logger.info(message)
Моя проблема заключается в том, что если какая-либо из строк содержит символ новой строки или запятую, это прерывает вывод. Я мог бы заключить их в кавычки, но тогда это сломалось бы, если бы они содержали кавычки. Я могу избежать этого, но я бы не стал переписывать код для разбора всех крайних случаев записи в файл CSV. Есть ли хороший способ справиться с этим?
Есть ли способ легко санировать строки для записи в CSV? Я мог бы сделать это:
Как записать данные в формате csv в виде строки (не файла)?
Но это кажется очень окольным и нечитаемым.
Я использую библиотеку журналов только потому, что считал это наилучшей практикой, но если она не справляется с форматированием CSV, я могу также просто открыть файл CSV уровня модуля и записать в него строки, используя библиотеку Python CSV, право