我是 Python 的新手。我使用的外部模拟软件给我的报告包含以下格式的数据:
1 29 Jan 2013 07:33:19.273 29 Jan 2013 09:58:10.460 8691.186
我希望将上述数据拆分为四个字符串;
'1', '29 Jan 2013 07:33:19.273', '29 Jan 2013 09:58:10.460', '8691.186'
我不能使用 str.split,因为它将日期拆分成多个字符串。在 1 和第一个日期之间以及第一个和第二个日期之间似乎有四个空格。我不知道这是四个空格还是制表符。
使用 '\t' 作为分隔符并没有多大作用。如果我指定 ' '(4 个空格)作为分隔符,我会得到前三个字符串。然后我还在最后一个字符串中得到一个空字符串和前导空格。第二个日期和数字之间有 10 个空格。
任何关于如何处理这个问题的建议都会很有帮助!
谢谢!
请您参考如下方法:
您可以使用一个简单的正则表达式拆分多个空格:
import re
multispace = re.compile(r'\s{2,}') # 2 or more whitespace characters
fields = multispace.split(inputline)
演示:
>>> import re
>>> multispace = re.compile(r'\s{2,}') # 2 or more whitespace characters
>>> multispace.split('1 29 Jan 2013 07:33:19.273 29 Jan 2013 09:58:10.460 8691.186')
['1', '29 Jan 2013 07:33:19.273', '29 Jan 2013 09:58:10.460', '8691.186']
