2016-11-14 143 views
-1

我正在讀取dataframe列中的一些數據,如果值包含「 - 」,我會對每個值執行一些操作。這些操作包括基於「 - 」的分割。但是我不明白爲什麼在列表中的每個值有一個 「\ n *」 作爲實例python列表中有自動不需要的特殊字符 n +

[ '2010 \ N1', '200 \ 450 N2 \ N3',...,' 1239 \ N1000' ]

這裏是我的代碼示例:

splited = [] 
    wantedList = [] 

    val = str(x)      # x represents the value in the value read from the dataframe column 

    print val       # the val variable does not does not contain those special characters 

    if val.find('-') != -1:    
      splited = val.split('-') 
      wantedList.append(splited[0]) 

    print splited      # splited list contains those special characters 

    print wantedList     # wantedList contains those special characters 

我想這與我創建的列表的方式或我追加給它的方式做。

有誰知道爲什麼這樣的事情確實發生

+0

你能提供你正在閱讀的日期嗎?你有沒有試過在拆分的數據上使用'strip'(基本上用'splited [0] .strip()')替換'splited [0]')?你能否提供一個'val'的例子? –

回答

3

有沒有什麼在你的代碼可能可能自動地在一些隨機的位置中添加一個新行字符的字符串。我會說這些字符已經在字符串中,但print未顯示爲\n,而是作爲新行。

您可以確認通過打印字符串的表示:

print repr(val) 

如果你想出來的字符串,你可以用一個簡單的str.replace所有\n

+0

print repr(val)顯示它..但是str.replace沒有看到它。因此該列表保持不變。這是代碼'splitted2 = [t.replace(''\\「n','')for t in splited]''和'print splited2'顯示沒有區別 – akaAlso

+0

它確實有效。非常感謝。我不得不做一個簡單的't.replace('\ n','')'而不是't.replace(''\\「n','')' – akaAlso