У меня есть следующий CSV-файл с одним столбцом и большим количеством строк (я просто добавляю 2 строки для простоты)
| order_detail
|-------------------------------------------------------------------------------------------------------------------------
|product 1 & product 2|category 1|8~product 4|category 3 |10~product 1 & product 19|category 8|6~product 50|category 4|6
|-------------------------------------------------------------------------------------------------------------------------
|product 2|category 10|2~product 14|category 3 |1
Я хотел бы создать 3 столбца из этого, чтобы мои окончательный результат выглядит так:
productname |category |number of products
----------------------------------------------------
product 1 & product 2 |category 1 |8
product 4 |category 3 |10
product 1 & product 19|category 8 |6
product 50 |category 4 |6
product 2 |category 10|2
product 14 |category 3 |1
Я попытался заменить символ ~ на | а затем разбиваю строку, но я не могу получить желаемый результат.
Вот мой код:
import pandas as pd
df = pd.read_csv('./test.csv', encoding='ISO-8859–1', sep=',')
replacedString = df['ORDER_DETAIL'].str.replace('~', '|')
df[['productname','category','number of products']]= replacedString.str.split('|',2, expand=True)
Я получаю продукт и категорию в правильном формате, но «количество продуктов "не создает других строк.
productname |category |number of products|
---------------------------------------------------------
Product 1 & product 2 |category 1 |8|product 4 | category 3 |10|product 1 & product 19|category 8|6|product 50|category 4|6
----------------------------------------------------------
product 2 |category 10|2|product 14|category 3|1
Благодарю за вашу помощь