Как можно разбить запятые на столбцы а после перенести в строки
Есть таблица вида
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