как из строки сделать столбик скриптом Python
Есть строка:
192.168.0.1:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов
192.168.0.2:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов
192.168.0.3:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов
и т.д до 1млн строк
Нужно:
192.168.0.1:80-Бухгалтерия\Иван Иванов
192.168.0.1:80-Бухгалтерия\Иван_Иванов
192.168.0.1:80-Бухгалтерия\Иван.Иванов
192.168.0.1:80-Бухгалтерия\Иван-Иванов
Ответы (2 шт):
Автор решения: endlish emmet
→ Ссылка
txt = '192.168.0.1:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов'
txt = txt.split(';');
txt[0] = txt[0][len('192.168.0.1:80-'):]
print(txt)
for i in txt:
print('192.168.0.1:80-'+i)
Автор решения: CrazyElf
→ Ссылка
Достаточно просто split использовать несколько раз:
data = \
'''192.168.0.1:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов
192.168.0.2:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов
192.168.0.3:80-Бухгалтерия\Иван Иванов;Бухгалтерия\Иван_Иванов;Бухгалтерия\Иван.Иванов;Бухгалтерия\Иван-Иванов'''
for line in data.split('\n'):
ip, rest = line.split('-', 1)
for name in rest.split(';'):
print(f'{ip}-{name}')
Вывод:
192.168.0.1:80-Бухгалтерия\Иван Иванов
192.168.0.1:80-Бухгалтерия\Иван_Иванов
192.168.0.1:80-Бухгалтерия\Иван.Иванов
192.168.0.1:80-Бухгалтерия\Иван-Иванов
192.168.0.2:80-Бухгалтерия\Иван Иванов
192.168.0.2:80-Бухгалтерия\Иван_Иванов
192.168.0.2:80-Бухгалтерия\Иван.Иванов
192.168.0.2:80-Бухгалтерия\Иван-Иванов
192.168.0.3:80-Бухгалтерия\Иван Иванов
192.168.0.3:80-Бухгалтерия\Иван_Иванов
192.168.0.3:80-Бухгалтерия\Иван.Иванов
192.168.0.3:80-Бухгалтерия\Иван-Иванов