【问题标题】:Split lines by a character or whitespace python按字符或空格 python 分割行
【发布时间】:2013-06-20 04:33:34
【问题描述】:

我正在尝试拆分我正在使用的数据文件中的行。 This 原本是别人的代码,只是想“修复它”。他们将其拆分为分号,但我意识到他们实际上也需要将其拆分为多余的空格。我在第 28 行的表达式中单独列出了我的问题。我尝试了其他用户的一些建议,但是当我使用正则表达式命令时,我收到了 invalid literal for int() 警告。这很令人困惑,因为如果我不使用正则表达式,它就可以工作。有什么建议么?谢谢。

编辑:编辑完整代码链接。

【问题讨论】:

    标签: python string python-2.7


    【解决方案1】:

    不,不带参数的.split 是唯一在任何空格上分割的形式。

    使用这样的正则表达式:

    re.split(r'[\s;]+', text)
    

    【讨论】:

    • 在尝试了您的建议Traceback (most recent call last): File "VizierConvert.py", line 28, in <module> s=re.split(r'[\s;]+', t) File "/usr/lib/python2.7/re.py", line 167, in split return _compile(pattern, flags).split(string, maxsplit) TypeError: expected string or buffer
    • @Matt 你应该拆分 line 而不是文件 t
    • 呃,现在我明白了....File "VizierConvert.py", line 48, in <module> if(int(model[i+25][6])==3): ValueError: invalid literal for int() with base 10: '8.51e-03'
    • @Matt 该错误无关,但该数字是float 而不是int
    • 更一般的 split() 带有 None 参数(这是默认值)在任何空白处拆分。
    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 2013-10-11
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    相关资源
    最近更新 更多