我正在从电子邮件正文创建一个列表,并且输出列表包含数千个'\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] 删除。
我来说两句