Как записать файл в двумерный список
Я немогу правильно записать файл в список.
Файле информация вот в таком вид:
Текст
Текст
Текст
@ (Условный разделитель)
Текст
Текст
Текст
@
Нужно перевести файл в список в вид:
alfa = [[текст, текст, текст], [текст, текст, тескст]]
Я могу записать файл в нужный вид:
а = [['текст', 'текст',
'Текст']]
b=0 X=0
with open('KM.txt', 'w+') as f:
for i in a:
for j in a[b]:
b+=1
f.writelines(f"{j}\n")
f.writelines('@')]
f.writelines("\n")
f.close
После записи содержимого вложенного списка, программа ставит разделитель, и переходит к следующему списку.
Я пытался записать файл в двумерный список вот так:
f = open ('KN.txt')
y=0
q=0
with open ('KM.txt') as fe:
for delta, line in enumerate(fe):
pass
fe.close
l = []
a =[]
for i in range(delta+1):
a.append(1)
line = f.readline()
line = line.rstrip('\n')
if line == '@':
q +=1
a.append(l)
continue
else:
a[q].append(line)
Print(a)
Выводит задвоенный список:
a = [[текст, текст, текст, текст, текст, текст], [текст, текст, текст, текст, текст, тескст]]
Я не понимаю что не так
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Ваш текст не готов к выполнению и плохо читается
b = []
with open ('D:\\Prog\\KM.txt') as fe:
a = []
for line in fe:
ln = line.strip()
if ln == '@':
if a:
b.append(a)
a =[]
else:
a.append(ln)
print(b)