2014-09-13 24 views
0

我是python的新手,虽然我知道很多其他计算机语言。问题是在数据从与在格式12行的文本文件中读取:Python:解析包含字符串,整数和逗号混合的文本输入文件

月(7,14,13,9)每行

1个月从1至12月(每个具有4点的整数),所以可以对数据中的整数执行计算。

输入数据中的圆括号让我神秘,是否有从数据文件中提取整数的有效方法?我最终可以自己解决这个问题,但我正在努力帮助别人,而且还有时间因素。提前致谢。

回答

0

希望这有助于:

>>> s = 'Jan(7, 14, 13, 9)' 
>>> idx = s.index('(') #find the index of (
>>> idx 
3 
>>> s[idx+1:-1] #the content of() 
'7, 14, 13, 9' 
>>> list(int(x) for x in s[idx+1:-1].split(',')) #now a split and a list comprehension 
[7, 14, 13, 9] 
>>> 
1

您可以使用abstract syntax tree获得价值

>>> import ast 
>>> line = 'Jan(7, 14, 13, 9)' 
>>> j = line.index('(') 
>>> line[:j] # month 
'Jan' 
>>> ast.literal_eval(line[j:]) # a tuple of values 
(7, 14, 13, 9) 
0

假设线为图案,如你所说的元组。

line = 'Jan(7, 14, 13, 9)' 

parsed_line = eval(line[3::]) 

sum_all = sum(parsed_line) 
>>> 43 

它返回一个元组。

相关问题