как я имею вопрос при попытке разделить строку текста я получаю из текстового файла. Это довольно большой файл, но я буду вставлять только 2 строки, с оригинальным текстомPython - Ошибка при попытке линии разделения текста
1307; Форма собственности: часть 1/1 <> Tarnowiec Коммуна <> <> 211 <> 30-200 ZipCode; KS1J/00080000/2; 861; Свойство: 1,1 часть <> РАЙОН Тарновец <> <> 211 <> 30-200 ZipCode; KS1J/00080990/2;
1306; Форма собственности: часть 1/1 <> Jan Nowak <> им. .: Tomasz_ родились Мария <> Где-то 2 <> 30-200 ZipCode; KW22222; 861; Форма собственности: часть 1/1 <> Тарновец Коммуну <> <> Tarnowiec 211 <> 30-200 ZipCode; KS1W/00080000/1;
данных я получаю из этого файла будет использоваться для создания отчетов, а <>
_
и будет использоваться для дальнейшего Top форматирования. Я хочу иметь линию разделения на ;
Проблема, я получаю сообщение об ошибке на двух методах расщепления.
первый, основной .split(';')
dane = open('dane_protokoly.txt', 'r')
for line in dane:
a,b,c,d,e,f,g = line.split(';')
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
Я получаю сообщение об ошибке после печати первого цикла
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\Nowy folder\costam.py", line 36, in <module>
a,b,c,d,e,f,g = line.split(';')
ValueError: not enough values to unpack (expected 7, got 1)
То же с созданием списков из этого файла (список выглядит следующим образом: [ '1307', 'свойство: 1,1 часть <> РАЙОН Tarnowiec <> <> 211 <> 30-200 ZipCode', 'KS1J/00080000/2', '861', «свойство: 1,1 часть <> РАЙОН Tarnowiec <> <> 211 <> 30-200 ZipCode '' KS1J/00080990/2 '' «]
dane = plik('dane_protokoly.txt')
for line in dane:
a = line[0]
b = line[1]
c = line[2]
d = line[3]
e = line[4]
f = line[5]
g = line[6]
print(str(a))
print(str(b))
print(str(c))
print(str(d))
print(str(e))
print(str(f))
ошибки, а также получить должным образом после печати первой строки:
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\Nowy folder\costam.py", line 22, in <module>
b = line[1]
IndexError: list index out of range
Любой идея, почему я получаю сухие ошибки?
первых вы получаете, потому что вы * угадывание неправильно * Количество элементов в 'split' возвращается. Угадание - это плохая практика. Просто сохраните результаты в 'list'. попробуйте 'print (line)' перед тем, как расщепить его, чтобы убедиться в этом сами. –
первая строка напечатана правильно, следующая строка имеет ошибку – krizz