奇怪的分隔符

时间:2015-05-07 14:20:22

标签: python python-2.7 parsing delimiter

在Python中,我试图解析一个文件并分离值,但是,我正在使用一个奇怪的分隔符。任何人都可以帮忙吗?谢谢!

我正在解析的文件中的行显示为:

john-burk AL
john-smith    CA
john-joe    FL
john-john  TX

当前代码:

with open('info.txt', 'r') as f:
    for line in f:
        try:
            name, state = line.split(<do not know what to use>)
        except Exception as e:
            print "[-] Error parsing data " + str(e)

预期产出:

name = "john-burk"
state = "AL"

1 个答案:

答案 0 :(得分:2)

引用str.split文档,

  

str.split([sep[, maxsplit]])   如果未指定 sep None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾处不包含空字符串。

所以,你可以简单地做

name, state = line.split()
print name, state
由于我们没有指定分隔符,因此Python将根据任意数量的连续空白字符作为分隔符进行分割。因此,您的数据可以分为namestate

注意:如果name有任何空格字符,则无效。