在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"
答案 0 :(得分:2)
引用str.split
文档,
str.split([sep[, maxsplit]])
如果未指定 sep 或None
,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾处不包含空字符串。
所以,你可以简单地做
name, state = line.split()
print name, state
由于我们没有指定分隔符,因此Python将根据任意数量的连续空白字符作为分隔符进行分割。因此,您的数据可以分为name
和state
注意:如果name
有任何空格字符,则无效。