pandas 将类方法名称作为参数传递[重复]

dfuffjeb  于 2023-04-10  发布在  其他
关注(0)|答案(1)|浏览(99)

此问题已在此处有答案

Python string to attribute(3个答案)
3天前关闭。
我想更改下面代码的最后一行

import io
import pandas as pd

writer = io.BytesIO()
data = [{"createdAt": 2021, "price": 10}, {"createdAt": 2022, "price": 20} ]
pd.DataFrame(data).to_csv(self.writer, header="true", index=False)

这样我就可以将类方法to_csv的名称作为参数传递。
喜欢

f = lambda x: pd.DataFrame(data).x(self.writer, header="true", index=False)
f('to_csv') # should do exactly the same as pd.DataFrame(data).x(.....

我也尝试了to_csvto_csv()作为参数。我可以寻求帮助来解决这个问题吗?

bxjv4tth

bxjv4tth1#

你想要getattr吗?

f = lambda x: getattr(pd.DataFrame(data), x)(self.writer, header=True, index=False)
f('to_csv')

或者用一个函数:

def f(x):
    return getattr(pd.DataFrame(data), x)(self.writer, header=True, index=False)
f('to_csv')

相关问题