2013-03-03 56 views
1

我有很長的雜亂的文件和我的朋友告訴我,他有製表符分隔該文件.. 但是當我做:是什麼在我的文字分隔符

tokens = line.split("\t") 

它不分裂...

但我不知道也許我失去了一些東西..和我的朋友似乎很確定他的文件是製表符分隔。它看起來像它的製表符分隔以及

樣本文件

10  AccessibleComputing  0  381202555  2010-08-26T22:38:36Z OlEnglish  7181920 #F3# [[Help:Reverting|Reverted]] edits by [[Special:Contributions/76.28.186.133|76.28.186.133]] ([[User talk:76.28.186.133|talk]]) to last version by Gurch #REDIRECT#F0#[[Computer#F0#accessibility]]#F0#{{R#F0#from#F0#CamelCase}}  lo15ponaybcg2sf49sstw9gdjmdetnk ,Computer_accessibility 

有沒有辦法知道在Python隱藏的分隔符?

也許代碼字符串以另一種格式....?

+1

我懷疑這可能是空間 – 2013-03-03 22:35:39

+0

您發佈的樣本空間分隔,而不是製表符分隔。你可以通過複製到記事本中來判斷,試圖突出顯示'空格'並查看它們是否以單個字符或大塊狀塊突出顯示。 – Patashu 2013-03-03 22:35:48

+1

使用記事本++,你可以在文本文件中顯示不可見的字符 – A4L 2013-03-03 22:35:49

回答

6

就劈在空白:

line.split() 

str.split()不帶參數會分裂的可變寬度的空白,並清除領先,並根據需要尾隨空白。空白是任何製表符,空格,換行或回車:

>>> '10  AccessibleComputing  0  381202555  2010-08-26T22:38:36Z OlEnglish  7181920 #F3# [[Help:Reverting|Reverted]] edits by [[Special:Contributions/76.28.186.133|76.28.186.133]] ([[User talk:76.28.186.133|talk]]) to last version by Gurch #REDIRECT#F0#[[Computer#F0#accessibility]]#F0#{{R#F0#from#F0#CamelCase}}  lo15ponaybcg2sf49sstw9gdjmdetnk ,Computer_accessibility'.split() 
['10', 'AccessibleComputing', '0', '381202555', '2010-08-26T22:38:36Z', 'OlEnglish', '7181920', '#F3#', '[[Help:Reverting|Reverted]]', 'edits', 'by', '[[Special:Contributions/76.28.186.133|76.28.186.133]]', '([[User', 'talk:76.28.186.133|talk]])', 'to', 'last', 'version', 'by', 'Gurch', '#REDIRECT#F0#[[Computer#F0#accessibility]]#F0#{{R#F0#from#F0#CamelCase}}', 'lo15ponaybcg2sf49sstw9gdjmdetnk', ',Computer_accessibility'] 
+0

雖然給出的格式很簡單,但將編輯消息拆分看起來像是錯誤的行爲。 – geoffspear 2013-03-03 22:49:43

1

你能得到標籤和空格混淆或轉換?也許在兩個標籤和空格分割將有助於

import re 
re.split('\t| ', line) 
相關問題