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

问题描述 投票:0回答:1

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

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

以下是来自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']
python-3.x replace split strip removing-whitespace
1个回答
0
投票

首先,我认为你的代码有一些缩进问题(例如在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']
© www.soinside.com 2019 - 2024. All rights reserved.