Issue
Here is a very simple example of creating a variable in Python:
model_result = 5
Now the problem is that, I need to run a same snippet of codes for a lot of model scenarios, and save out the final result from each scenario with a corresponding name.
When using this snippet of codes, I will only update the chosen scenario using a hashtag (#), and keep the remaining analysis codes untouched. For example:
# pick a scenario
chosen_scenario = "baseline"
#chosen_scenario = "test1"
#chosen_scenario = "test2"
#chosen_scenario = "test3"
#chosen_scenario = "test4"
#chosen_scenario = "test5"
print("Chosen scenario:",chosen_scenario)
# move to the corresponding directory and get the files
Target_files = sorted(glob.glob("C:/model-outputs/"+chosen_scenario+"_output/model_output_*.csv"))
# Then run through some fixed routine analysis
At the end of the snippet, I want to save out the variable direclty as something like:
model_result_baseline
,model_result_test1
,model_result_test2
, instead of manually typing them every time. Because there are a lot of scenarios.
Is this possible in Python?
Many thanks.
Solution
I recommend using a dictionary to achieve what you are trying to do:
results = {}
scenarios = ['baseline', 'test1', 'test2', 'test3']
for s in scenarios:
results[s] = sorted(glob.glob(f"C:/model-outputs/{s}_output/model_output_*.csv"))
Answered By - TrimPeachu
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.