用变量初始化对象参数

时间:2018-12-04 14:30:11

标签: python object sqlalchemy

我需要使用sqlalchemy将表对象插入数据库。我创建了这样的

onResponse(...)

这是为了澄清为什么我需要此对象参数名称。 我有一个包含12列的表格。每个月1个。 列如下所示:

MONTH_1

MONTH_2

MONTH_3

MONTH_4

MONTH_5

...

如果可能,我想要这样的东西。

table_entry = Exampletable()
table_entry.key = 'key'
table_entry.date = datetime.today()
table_entry.value = 'value'
dba.session.merge(table_entry)

是否可以通过这种方式初始化对象参数?

1 个答案:

答案 0 :(得分:0)

因此,我不一定建议您这样做(例如,将数据存储在字典或数据框之类的数据结构中会更有意义),但是要实现您的要求,以下将起作用:

# include here all ids
files = ['20160131', '20160231']

_g = globals()

for f in files:
    _g['df_{}'.format(f)] = pandas.read_csv('path/cust_{}.csv'.format(f))


print(df_20160131)

我正在使用import datetime class ExampleTable(): def __init__(self): pass def set_value_of_current_month(self, value): month = datetime.datetime.now().strftime("%m") setattr(self, "MONTH_" + month, value) my_table = ExampleTable() my_table.set_value_of_current_month(12345) print(my_table.MONTH_12) 实现这一目标。本质上,setattr(...)my_table.MONTH_12 = 12345