我正在翻译一个具有数千行的数据框。它总是向我抛出错误:JSONDecodeError:期望值:第1行第1列(字符0)。 我已阅读此线程:GoogleTrans API Error - Expecting value: line 1 column 1 (char 0) 它说在三个for循环中重新初始化翻译器可以解决此问题,但不适用于我的情况。
from googletrans import Translator
translator = Translator() #init translator
#word list
l=['spring','summer','autumn','winter']
#langCodes More can be added by looking at the googletrans documentation
langCodes = {'Vietnam':["vi"],
'Taiwan':["en"],
'India':["en","hi"],
'China':["en"],
'Japan':["ja"],
'United States':["en"],
'Pakistan':["en",'ur'],
'Bangladesh':["bn"],
'Mexico':["es"],
'Philippines':["en"],
'Austria':["de"],
'Singapore':["en"],
'Malaysia':["ms"],
'Canada':["en"],
'Madagascar':["ml"],
'Turkey':["tr"],
'Italy':["en"],
'Belgium':["nl","de","fr"],
'Switzerland':["it","de","fr"],
'Spain':["es"],
'Sri Lanka':["si","ta"],
'United Kingdom':["en"],
'Colombia':["es"],
'Nicaragua':["es"],
'Haiti':["fr"],
'Germany':["de"],
'Brazil':["pt-BR"],
'South Korea':["ko"],
'Thailand':["th"],
'France':["fr"],
'Cambodia':["km"],
'Poland':["pl"],
'El Salvador':["es"],
'Romania':["ro"],
'Bulgaria':["bg"],
'Guatemala':["es"],
'Portugal':["pt"],
'Lesotho':["en","st"],
'Netherlands':["nl"],
'Finland':["fi"],
'Cayman Islands':["en"],
'Indonesia':["id"],
'Czech Republic':["cs"],
'Croatia':["hr"],
'Peru':["es"],
'Israel':["iw"]
}
#df1 names and countries using pandas
df1 = pd.DataFrame([["Tom","United States"],
["Sam","France"],
["Tim","China"],
["Andrew","Japan"],
["Bess","Turkey"],
["Sara","Romania"],
["Jeff","Switzerland"]],
columns=["Name","Country"])
#df2 initialize
df2= pd.DataFrame(columns=["Query"])
#iterate through the rows of df1
for idx, row in df1.iterrows():
#iterate through the possible languages
#re-initialise translator
translator = Translator()
for lang in langCodes[row['Country']]:
#iterate through the possible words
#re-initialise translator
translator = Translator()
for word in l:
#translate the word using googletrans
getTrans = translator.translate(word, dest=lang).text
#append output to new column
df2 = df2.append({"Query":row['Name']+" "+getTrans},ignore_index=True)
print(df2)
有人对这个问题有见解吗?任何帮助,将不胜感激!!预先感谢!