Я бы подошел к этому, используя следующий метод.
1) Импортируйте файл excel с помощью такой функции, как pandas.read_excel
, перенося данные из Excel в информационный кадр.Я назову это exceldf
2) Объединить этот фрейм данных с данными, которые у вас уже есть в Фрейме данных Pandas.Я позвоню в ваш существующий переведенный фрейм данных translateddf
3) Переупорядочиваем недавно объединенный фрейм данных newdf
, а затем экспортируем данные.Дополнительные параметры для переупорядочения показаны здесь: переупорядочение фрейма данных
4) Экспорт данных в Excel.Я оставлю вас, чтобы интегрировать его в ваш исходный код.Чтобы получить общий ответ на вопрос, другие могут захотеть взглянуть на встроенные опции Pandas здесь to_excel
Пример кода
import pandas
# Read in the Excel file
exceldf = pandas.read_excel(open('your_xls_xlsx_filename'), sheetname='Sheet 1')
# Create a new dataframe with your merged data, merging on 'key1'.
# We then drop the column of the original translation, as it should no longer be needed
# I've included the rename argument in case you need it.
newdf = exceldf.merge(translateddf, left_on=['key1'], \
right_on=['key1']) \
.rename(columns={'Original Translation {language}': 'Original Translation {language}'}) \
.drop(['Original Translation'], axis=1)
# Re-order your data.
# Note that if you renamed anything above, you have to update it here too
newdf = newdf[['0', '1', '2', 'Original Translation {language}']]
# An example export, that uses the generic implementation, not your specific code
pandas.newdf.to_excel("output.xlsx")