2017-04-18 59 views
0

我有一個.csv文件,其中一列的文本以日文寫,而相鄰的列必須填入英文翻譯。這是我寫的腳本。谷歌翻譯API在我的本地環境(測試)正常工作。但是我無法填充數據框中的空白單元格。在運行腳本後打開數據框時,我得到相同的「NaN」值。我附上了csv文件供參考。 https://www.dropbox.com/s/g3x1jvkj2j70ocy/sarthak.csv?dl=0如何使用Pandas將條目添加到NaN字段?

https://i.stack.imgur.com/zx6Yn.png

import pandas as pd 
from google.cloud import translate 
client = translate.Client() 
df = pd.read_csv('sarthak.csv') 
total_rows = df.count() 
row_num = df.shape[0] 
for i in range(row_num): 
    text_to_be_translated = df.iloc[i,7] 
    location_for_translated_text = df.iloc[i,6] 
    try: 
     translated_text_dict = client.translate(text_to_be_translated) 
     translated_text = str(translated_text_dict['translatedText']) 
     df.set_value(i, 6, translated_text, takeable=False) 
    except: 
     print("not available") 
     pass 

回答

0

你必須在df.set_value線一個錯字。 'tranlated_tex'。我相信這會讓你陷入除了每次迭代的情況之外。

而不是迭代每一行,我會考慮使用apply function以及。

+0

感謝您指出。我改變了這個問題的變量名稱。我的原始代碼不使用相同的變量名稱,也沒有拼寫錯誤。我將研究應用函數。乾杯! – SarthakC

+0

apply函數解決了我的問題,並使我的代碼更加清晰!謝謝! – SarthakC

相關問題