簡體   English   中英

使用getattr獲取字符串變量的內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM