我是python的新手,虽然我知道许多其他计算机语言。问题是从包含12行格式的文本文件中读取数据:
Jan(7,14,13,9)
从1月到12月每行一个月(每个有4个整数),以便可以对数据中的整数执行计算。
输入数据中的括号让我神秘,是否有一种从数据文件中提取整数的有效方法?我最终可以自己解决这个问题,但我正在努力帮助其他人并且有一个时间因素。提前谢谢。
答案 0 :(得分: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)
答案 1 :(得分: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]
>>>
答案 2 :(得分:0)
假设线条有图案,正如你所说。
line = 'Jan(7, 14, 13, 9)'
parsed_line = eval(line[3::])
sum_all = sum(parsed_line)
>>> 43
它返回一个元组。