Как можно разбить запятые на столбцы а после перенести в строки

Есть таблица вида

user_id; account_id
12; 100,25

Подскажите как можно преобразовать ее в формат

user_id; account_id
12; 100
12; 25

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

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

допустим данные записаны так:

"число из первой колонки;число из второй колонки,число из второй колонки,..."

тогда можно сделать так:

data = "12;100,25".split(";")

res = [(int(data[0]), num) for num in map(int, data[1].split(','))]

print(*res, sep='\n')
→ Ссылка
Автор решения: Danis
dict_ = {
    "user_id":  [12],
    "account_id": [100, 25]
}

while len(dict_["user_id"]) != len(dict_["account_id"]):
    dict_["user_id"].append(dict_["user_id"][-1]) 
→ Ссылка
Автор решения: CrazyElf

Вариант с Pandas:

import pandas as pd

with open('test.csv', 'w') as f:
    f.write('user_id; account_id\n12; 100,25')

df = pd.read_csv('test.csv', sep='; ', engine='python')
df['account_id'] = df.account_id.str.split(',')
df = df.explode('account_id', ignore_index=True)
print(df)

Вывод:

   user_id account_id
0       12        100
1       12         25
→ Ссылка