I'm trying to translate all the elements of a dataframe from Persian to English. I'm using the code below, but it takes long time to run. Is there any quick way?
import pandas as pd
exl_file = 'data.xlsx'
df = pd.read_excel(exl_file)
import googletrans
from googletrans import Translator
translator = Translator()
df_en = df.copy()
df_en.rename(columns=lambda x: translator.translate(x).text, inplace=True)
df_en.columns
translations = {}
for column in df_en.columns:
unique_elements = df_en[column].unique()
for element in unique_elements:
translations[element] = translator.translate(element).text
df_en.replace(translations, inplace = True)
df_en.to_csv('en_data.csv', index=False)
I am not the expert of this domain, but I can suggest some enhancement here.