Файлы к уроку:
Описание
В этом уроке мы научимся импортировать данные из файла в формате CSV.
В нашем случае мы будем импортировать данные не из классического файла CSV, где данные разделены запятыми, а из CSV, где данные разделены точкой с запятой.
Помимо импорта мы еще преобразуем столбец, в котором нужно данные разделить на строки.
Решение
Для импорта данных из CSV мы воспользуемся командой pandas.read_csv. В параметрах мы укажем разделитель, а также укажем в каких столбцах находятся даты.
Для того, чтобы разделить столбец на строки мы воспользуемся функциями split, stack, strip.
Результат запишем в файл xlsx с помощью команды pandas.to_excel.
Примененные функции
- pandas.read_csv
- pandas.Series.str.split
- pandas.DataFrame.stack
- pandas.DataFrame
- pandas.DataFrame.drop
- pandas.DataFrame.join
Код
Импорт CSV
data = pd.read_csv('crm_data.csv',
sep=';',
parse_dates=['Дата и время', 'Дата доставки'])
Разбить столбец состав на строки
composition = data['Состав'].str.split(';', expand=True).stack().str.strip().reset_index(level=1, drop=True)
composition = pd.DataFrame(composition,
columns=['Состав_'])
Объединить старый датафрейм с преобразованным столбцом
crm = data.drop(['Состав'], axis=1).join(composition)
Записать полученный датафрейм в файл XLSX
crm.to_excel('crm.xlsx',
sheet_name='crm',
index=False)