无法使用不同的方法删除空格

Unable to remove whitespace using different methods

我正在尝试从基于该文件的列表中删除 file.txt 中的空格。

我试过 strip() 和 replace(" ", ""),都没有用。我试图避免添加库,使用正则表达式会很容易,但我不知道为什么这些方法不起作用。

这是来自 txt 文件 (Download sample here) 的示例行:

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(" ", "")

我也试过 strip()。

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']

首先,我认为您的代码有一些缩进问题(例如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']