如何从Python列表中删除换行符?

卢卡斯·阿尔梅达(Lucas Almeida)

我正在从电子邮件正文创建一个列表,并且输出列表包含数千个'\n''\t'字符。我想知道如何从Python列表中删除它们。

注意:我希望只删除没有其他值的项目,因为列表中有一些索引包含重要信息和特殊字符,所以我不想删除它们。例如:[..., '\n', 'WDO\n', '\t\t\n', ...]

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6) 
messages = inbox.Items
message = messages.GetFirst()

for msg in messages:
    subject = msg.Subject
    if (subject.find('ABCDEFG') != -1):
        assunto = subject
        conteudo = msg.body
        File_object = open(r"C:\Projetos\E-mail\body.txt","w")
        File_object.write(msg.body)
        File_object.close() 
        break

File_object = open(r"C:\Projetos\E-mail\body.txt","r")
lista = File_object.readlines()

这是列表的输出:

lista[0:16]

['Segue dados de hoje. \n',
 '\n',
 '\n',
 '\n',
 ' \n',
 '\n',
 '\n',
 '\n',
 'WDO\n',
 '\n',
 '\n',
 '\n',
 '\t\t\n',
 '\n',
 'Média\n',
 '\n']
熊熊

使用isspace以确定列表元素只是空格,如制表符,换行符,等等。

[x for x in lista if not x.isspace()]

输出:

['Segue dados de hoje. \n', 'WDO\n', 'Média\n']

如果您还想删除换行符和其他空格,请使用rstrip

[x.rstrip() for x in lista if not x.isspace()]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章