繁体   English   中英

如何从python列表中删除\\ n和\\ t?

[英]How to remove \n and \t from a list in python?

我一直在尝试从python中的2个列表中删除\\ n和\\ t,但是一直无法删除。 下面是我的代码:

A=[]
B=[]
C=[]
D=[]
.................
.................

df=pd.DataFrame(A,columns=['Rank'])
df['Company Name']=B
C=list(filter(lambda x: x != '\n', C))
C=list(filter(lambda x: x != '\t', C))
df['Type of organization']=C
D=list(filter(lambda x: x != '\n', D))
D=list(filter(lambda x: x != '\t', D))
df['Industry']=D


writer = pd.ExcelWriter('compdata.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False, sheet_name='report')
writer.save()

请帮我,因为我也尝试过lambda,但无济于事。 每次将数据框导出到Excel时,这两列都会给我很多空间。

下面是C和D的样子:

  Rank                 Company Name  \
0   1.            Google (Alphabet)   
1   2.                       ACUITY   
2   3.  The Boston Consulting Group   
3   4.         Wegmans Food Markets   

                                Type of organization  \
0  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...   
1  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...   
2  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...   
3  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...   

                                            Industry  
0  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...  
1  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...  
2  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...  
3  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...  

实际上,组织的类型应为“公共”或“私人”。 只是在上述任一选择之前,列表中都有很多\\ n和\\ t。

请尝试以下操作:

使用列表理解

my_list = ['a', 'b', '\n', 'c', '\t', 'd']

my_list = [item for item in my_list if item not in ['\n', '\t']]

使用filter()

my_list = filter(lambda item: item not in ['\n', '\t'], my_list)

编辑:

对于添加到问题的输入示例,您可以这样删除\\t\\n

c = [''.join(item.split()) for item in c]

输出:

>>> c = ['\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t‌​\t\t\t\t\t\t\t\t\tPu‌​blic', '\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\‌​t\t\t\t\t\t\t\t\tPri‌​vate', '\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\‌​t\t\t\t\t\t\t\t\tPri‌​vate', '\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\‌​t\t\t\t\t\t\t\t\tPri‌​vate']
>>>
>>> [''.join(item.split()) for item in c]
['??Pu??blic', '\\??tPri??vate', '\\??tPri??vate', '\\??tPri??vate']

尝试这个:

C = [ x.replace('\t', '').replace('\n', '') for x in C ]

D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM