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中的隐藏分隔符?

也许以另一种格式编码字符串....?

4

2 回答 2

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']
于 2013-03-03T22:43:40.413 回答
1

你能把制表符和空格弄乱或转换吗?也许在制表符和空格上分开会有所帮助

import re
re.split('\t|    ', line)
于 2013-03-03T22:39:01.057 回答