Imagine that I have the following dict:
configs = {
'CONFIG1': [
{
"server": "SERVER_1",
"description": "Testing server 1.",
},
{
"server": "SERVER_2",
"description": "Testing server 2.",
}
],
'CONFIG2': [
{
"server": "SERVER_3",
"description": "Testing server 3.",
},
{
"server": "SERVER_4",
"description": "Testing server 4.",
}
],
'CONFIG3': [
]
}
I want to organize this config into a dataframe so that it is like this:
| server | description | config_name |
|---|---|---|
| SERVER_1 | Testing server 1. | CONFIG1 |
| SERVER_2 | Testing server 2. | CONFIG1 |
| SERVER_3 | Testing server 3. | CONFIG2 |
| SERVER_4 | Testing server 4. | CONFIG2 |
I also want to prevent empty configuration keys such as CONFIG3 from being added to the dataframe.
I've tried doing it like this:
import pandas as pd
df = pd.DataFrame()
for config in configs:
if configs[config]:
df = df.append(configs[config], ignore_index=True)
df['config_name'] = config
print(df)
But the configuration name is not right. The output is:
| server | description | config_name |
|---|---|---|
| SERVER_1 | Testing server 1. | CONFIG2 |
| SERVER_2 | Testing server 2. | CONFIG2 |
| SERVER_3 | Testing server 3. | CONFIG2 |
| SERVER_4 | Testing server 4. | CONFIG2 |
df['config_name'] = configyou are setting the value for the entire column.