Скажите, что ваши данные таковы:
import pandas as pd
df = pd.DataFrame([["ElementsButtonAbort", "Abort", "Arbrechen"],
["ElementsButtonConfirm", "Confirm", "Bestätigen"],
["ElementsButtonDelete", "Delete", "Löschen"],
["ElementsButtonEdit", "Edit", "Ãndern"]],
columns=["name", "en_GB", "de_DE"])
Тогда, возможно, это не лучший способ сделать это, но по крайней мере это работает:
df.set_index("name", drop=True, inplace=True)
translations = df.to_dict()
Теперь, если выесли вы хотите получить именно тот словарь, который вы выводите в качестве желаемого результата, вы можете сделать:
for language in translations.keys():
_ = translations[language]
translations[language] = {}
translations[language]["translations"] = _
Наконец, если вы хотите сохранить свой словарь в JSON:
import json
with open('PATH/TO/YOUR/DIRECTORY/translations.json', 'w') as fp:
json.dump(translations, fp)