Невозможно удалить пробел, используя разные методы - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь удалить пробелы, которые есть в file.txt, из списка, основанного на этом файле.

Я пробовал strip () и заменить ("", ""), оба не работали.Я пытаюсь избежать добавления библиотек, это было бы легко с регулярным выражением, но я не знаю, почему эти методы не работают.

Вот пример строки из текстового файла ( Скачать образец здесь ):

10311,CANCELLED/NOT ASSIGNED                            ,                                 ,                                 ,                  ,  ,          ,20160817,HD,        ,     ,

Код, который я использовал:

found_raw = list()
with open("file.txt", "r") as file_search:
    for line in file_search:
    if no in line:
        found_raw.append(line)

    for entry in found_raw:
        found = entry.split(",")
    for item in found:
        item.replace(" ", "")

Iтакже пытался с полосы ().

for item in found:
        item.strip()

Результат был тот же:

['222GY', '1142                          ', '3980115', '54561', '1990', '7', '                   ', 'DR STE 300
     ', '                                 ', 'KIRKLAND          ', '', '
    ', 'S', '033', 'US', '20161109', '20110418', '1T        ', '5', '5 ', 'V ',
'50364434', ' ', '19930206', '
', '                                                  ', '
                            ', '
  ', '                                                  ', '20200430', '00994891
', '                              ', '                    ', 'A1E91C    ', '\n']

Вот что я хочу:

['222GY', '1142', '3980115', '54561', '1990', '7', '', 'DR STE 300', '','KIRKLAND', '', '', 'S', '033', 'US', '20161109', '20110418', '1T', '5', '5 ', 'V ','50364434', ' ', '19930206', '', '', '', '', '', '20200430', '00994891', '', '', 'A1E91C', '\n']

1 Ответ

0 голосов
/ 28 марта 2019

Во-первых, я думаю, что ваш код имеет некоторые проблемы с отступами (например, после for line in file_search:, отступа нет).

Во-вторых, это даст вам то, что вы хотите:

with open("sample.txt", "r") as file_search:
    f = file_search.read()
print([l.replace(" ", "") for l in f.split(",")])

вывод (на основе строки ввода образца):

['10311', 'CANCELLED/NOTASSIGNED', '', '', '', '', '', '20160817', 'HD', '', '', '\n']
...