Универсальный скрипт для конвертирования CSV в XLSX

Пытаюсь написать универсальный скрипт для конвертации CSV в XLSX.

Мои данные в подобном формате:

введите сюда описание изображения

id,Имя,Адрес, Комментарий
12,Владимир,Москва, Слесарь
15,Олег,"Москва, улица Долгопрудная, д 9, кв 5","Программист, режиссёр"
14,Марина,"Лобня, Интернациональная","Писатель, клипмейкер, дизайнер"

Скрипт написал такой:

import pandas as pd
    
df = pd.read_csv("1.csv", sep=',\s*', engine='python', encoding = 'cp1251')

for col in df.columns.values:
    df[col] = df[col].str.strip('"')

df.to_excel("1.xlsx", index=None)

Однако на выходе имею:

введите сюда описание изображения

А должно быть как при использовании инструмента Excel "Данные" - "Текст по столбцам", т.е. вот так:

введите сюда описание изображения

Просьба помочь с решением, не обязательно на библиотеке Pandas. Нужен универсальный скрипт для конвертации CSV в XLS(X), где значение может быть выделено цитатами (т.к. внутри запятые, а они являются разделителями)


Ответы (1 шт):

Автор решения: MaxU

По-моему вы немного перемудрили. Попробуйте так:

(pd.read_csv("1.csv", sep=",", encoding="cp1251")
   .to_excel("result.xlsx", index=None))

результат: введите сюда описание изображения

содержимое файла 1.csv:

id,Имя,Адрес, Комментарий
12,Владимир,Москва, Слесарь
15,Олег,"Москва, улица Долгопрудная, д 9, кв 5","Программист, режиссёр"
14,Марина,"Лобня, Интернациональная","Писатель, клипмейкер, дизайнер"

UPD: для того чтобы проверить является ли ваш CSV файл корректным CSV откройте его в текстовом редакторе.

Вот битый файл приведенный по ссылке в комментарии:

id,Имя, Адрес, Комментарий
12,Владимир,Москва, Слесарь
"15,Олег,""Москва, улица Долгопрудная, д 9, кв 5"",""Программист, режиссёр"""
"14,Марина,""Лобня, Интернациональная"",""Писатель, клипмейкер, дизайнер"""

NOTE: обратите внимание на квотирование.

→ Ссылка