簡體   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