pandas:read_excel导入的表,列名:行号、长、宽、高、数量、计算方法名称、计算方法、计算结果。
行记录如:1,3,0.35,1.25,2,双侧面积,(长*高+宽*高)*数量,nan;
2,2,(0.6+0.35)/2,(1.1+1.3)/2,2,体积,长*宽*高*数量,nan;
能直接计算出'计算结果'列的值的函数,自定义函数。每行数据不一样,计算方法不一样。有两个步骤:长宽高列值代入形成文本计算式,再求'计算结果'的值。
pandas:read_excel导入的表,列名:行号、长、宽、高、数量、计算方法名称、计算方法、计算结果。
行记录如:1,3,0.35,1.25,2,双侧面积,(长*高+宽*高)*数量,nan;
2,2,(0.6+0.35)/2,(1.1+1.3)/2,2,体积,长*宽*高*数量,nan;
能直接计算出'计算结果'列的值的函数,自定义函数。每行数据不一样,计算方法不一样。有两个步骤:长宽高列值代入形成文本计算式,再求'计算结果'的值。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
import re
import pandas as pd
df=pd.read_csv('a.csv')
print(df)
def pf(t):
ds = re.sub(r'([\u4e00-\u9fa5A-Za-z]+)',r'eval(str(t["\1"]))',t["计算方法"])
return eval(ds)
df['计算结果'] = df.apply(pf,axis=1)
print(df)