【发布时间】:2020-10-19 09:29:06
【问题描述】:
这是我的功能:
def save_to_mongo(self, df, collection, additional_variable):
for index, row in df.iterrows():
result = row.to_dict()
collection.update_one(
{"_id": str(row['date']) + "_" + str(row['sector']) + "_" + str(row['caseid']) + str(row[additional_variable])},
{
'$set': result
},
upsert=True)
我有许多类似的函数,其中additonal_variable 等参数可以是None。
我真的很想避免使用这样的样式来膨胀代码库:
if additional_varibale is None:
collection.update_one(
{"_id": str(row['date']) + "_" + str(row['sector']) + "_" + str(row['caseid'])},
{
'$set': result
},
upsert=True)
else:
collection.update_one(
{"_id": str(row['date']) + "_" + str(row['sector']) + "_" + str(row['caseid']) + str(row[additional_variable])},
{
'$set': result
},
upsert=True)
我认为这段代码丑陋且难以维护。有没有更好的方法或最佳实践来避免使用这些冗长的if 和else 语句?
【问题讨论】:
标签: python pandas if-statement pymongo