[英]Get content of a string variable using getattr
我想知道如何檢索字符串變量的內容,以便可以將其值用作函數中的參數名稱。 這里的代碼:
import pandas
import jinja2
oDateList = ['2017-03-22','2017-03-23','2017-03-24']
oData = pandas.DataFrame()
oData['Date'] = oDateList
MyTemplate = 'Today is {{ Date }}'
oTemplate = jinja2.Template(MyTemplate)
for oRow in oData.index:
for oColumn in oData.columns:
MyTemplateUpdated = oTemplate.render(Date=oData.loc[oRow, oColumn])
print(MyTemplateUpdated)
它運作良好並返回:
Today is 2017-03-22
Today is 2017-03-23
Today is 2017-03-24
我想從數據oColumn
列名稱oColumn
(它是“日期”)中動態檢索參數名稱Date=
。 我考慮過使用getattr(oColumn, 'something')
但沒有弄清楚該怎么做。
我也嘗試過str(oColumn)
,它返回錯誤: SyntaxError: keyword can't be an expression
謝謝
如果要動態設置要發送給函數的參數名稱,則需要使用kwargs。
render(**{argument_name: argument_value}
因此,在您的情況下,假設oColumn包含您希望作為參數的字符串,則它將看起來像這樣;
render(**{oColumn: oData.loc[oRow, oColumn]})
如果我誤解了您的意圖,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.