I am working with Pyomo and I am trying to input some 4-D data for some parameters.
I have the data in an Excel spreadsheet that looks like this:
A link to the original data can be found here:
I would like to import the data in Python and have each column index and header value in a tuple as the key of a dictionary and the values as the dictionary's values.
Essentially, the expected output should look like:
p = {('Heat', 'Site 1', 1, 1): 14,
('Heat', 'Site 1', 1, 2): 16,
('Heat', 'Site 1', 1, 3): 10,
('Heat', 'Site 1', 2, 1): 13,
('Heat', 'Site 1', 2, 2): 13,
('Heat', 'Site 1', 2, 3): 13,
('Cool', 'Site 1', 1, 1): 5,
('Heat', 'Site 1', 1, 2): 6,
...
('Elec', 'Site 2', 2, 1): 11,
('Elec', 'Site 2', 2, 2): 15,
('Elec', 'Site 2', 2, 3): 15}
My idea was to import the excel file using pandas, first, and then use the to_dict method.
What I did is the following:
import pandas as pd
Loads = pd.read_excel("Time_series_parameters.xlsx", index_col=[0,1], header = [0,1])
That works well and I am able to get a data frame with two index columns and two header rows:
Heat Cool Elec Heat Cool Elec
Time Site 1 Site 1 Site 1 Site 2 Site 2 Site 2
1 1 14 5 13 10 20 14
2 16 6 11 10 14 10
3 10 7 14 11 18 11
2 1 13 8 14 20 19 11
2 13 7 11 14 15 15
3 13 6 13 12 19 15
However, whatever I have tried from there to get to the expected result has failed... All the settings in the to_dict method do not give me the expected result.
Hence, I would appreciate it if someone could be of some help here.