我的字典,如清单:Python电子表格式的公式分析器?
l =[{country:'Italy',sales:100,cost:50}{country:'Italy',sales:130,cost:60}
{country:'Germany',sales:110,cost:50}]
我想一个Python函数,它接受一个类似电子表格的输入字符串(请阅读从下面@lott评论)公式,如:
margin = (sales-cost)/sales
,这让我回:
l = [{country:'Italy',sales:100,cost:50,margin:1} ...]
你知不知道,这是否任何现有的库?或者你有一个想法如何实现它?
我已经有了一个想法,你可以看到下面,但我想要一个更好的方式来解析公式。处理'()'中的块或类似的东西。
parsed_op = {'sales':1,'cost':-1}
calc_field_name = 'smi'
counter = -1
for d in data:
counter = counter + 1
calc = sum([float(d[item])*parsed_op[item] for item in parsed_op])
d[calc_field_name] = calc
del data[counter]
data.append(d)
这类事情的现有库:[pandas](http://pandas.pydata.org/)。 – 2012-02-24 19:51:54
熊猫对我所需要的东西来说太复杂了。 – kfk 2012-02-24 19:59:20