I'm doing a traslation of words in csv/excel files using Google Colab and Pandas here is my code:
import pandas as pd
from googletrans import Translator
# read from an excel file
df = pd.read_excel('/content/Libro2.xlsx')
translator = Translator()
df = df.apply(translator.translate,src='en',dest='es').apply(getattr, args=('text',))
So basically my input from excel is this one:
My output is this with this line in specific df = df.apply(translator.translate,src='en',dest='es').apply(getattr, args=('text',))
so the problem here is I'm getting the format for a csv file, I would like to keet it with the format of the input, so I would like to have my data frame to export in to csv as usual. Here is my output:
The output that I would like to have is like the first image just in case is not clear my issue.
If you need to apply the function elementwise, you can use Pandas applymap
.
df = pd.DataFrame(['the quick brown fox jumps over the lazy dog'.split()])
translator = Translator()
df_tr = df.applymap(lambda w: translator.translate(w, src='en',dest='es').text)
print(df_tr)
Output df_tr
0 1 2 3 4 5 6 7 8
0 la rápido marrón zorro salta terminado la vago perro