问题-我在印地语中有一个数据框,我想将其转换为英语(但不能翻译)
0 मोहनलाल
1 श्री बजरंग बाडी उधान रर्सरी फार्म कारी
2 श्री बालाजी कन्ट्रक्शन
3 श्री राम ईट उदयोग
4 साहिल पैड स्टोर
我尝试过的
import pandas as pd
import googletrans
from googletrans import Translator
translator = Translator()
translations = {}
for column in df.columns:
unique_elements = df[column].unique()
for element in unique_elements:
translations[element] = translator.translate(element).text
translations
得到了这个结果
0 Mohan Lal
1 Shri Bajrang Body Farm Park Kari rarsari
2 Sri Balaji kantraksana
3 Rama briquette Udyog
4 Sahil pad Store
我需要这样的东西
0 MohanLal
1 Shri Bajrang Body Udhaan Rarsari Farm Park Kari
2 Sri Balaji Construction
3 Rama eit Udyog
4 Sahil pad Store
答案 0 :(得分:0)
安装以下库
pip install -U git+https://github.com/aboSamoor/polyglot.git@master
pip install googletrans
%%bash
polyglot download embeddings2.hi
polyglot download transliteration2.hi
尝试运行此代码
import polyglot
from polyglot.transliteration import Transliterator
t_hi = Transliterator(source_lang='hi', target_lang='en')
from googletrans import Translator
hi=[]
translatedList = []
temp_content = ['मोहनलाल', 'श्री', 'बजरंग', 'बाडी', 'उधान', 'रर्सरी', 'फार्म', 'कारी', 'बालाजी', 'कन्ट्रक्शन', 'राम', 'ईट', 'उदयोग', 'साहिल', 'पैड', 'स्टोर']
for index, row in enumerate(temp_content):
t1 = Translator()
try:
hi.append(t_hi.transliterate((t1.translate(row, src='en', dest='hi')).text))
except Exception as e:
print(str(e))
continue
# ['mohanlal', 'shree', 'bjrng', 'badi', 'udhan', 'rrsri', 'farm', 'kari', 'balaji', 'kntrkshn', 'ram', 'it', 'udyog', 'sahil', 'pad', 'store']
使用音译而不是翻译。
尝试点击此链接Transliteration
它不是100%精确,但可以。