2017-04-18 8 views
0

私は、1つの列に日本語で書かれたテキストがあり、隣接する列に英語の翻訳が取り込まれている.csvファイルがあります。これは私が書いたスクリプトです。 Google Translate APIはローカル環境で正常に動作しています(テスト済み)。しかし、私はデータフレーム内の空白のセルを埋めることができません。スクリプトを実行した後にデータフレームを開くと、同じ「NaN」値が得られます。私は参照のためにcsvファイルを添付しています。 https://www.dropbox.com/s/g3x1jvkj2j70ocy/sarthak.csv?dl=0Pandasを使用して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

これを指摘してくれてありがとう。この質問の変数名を変更しました。私の元のコードは同じ変数名を使用せず、タイプミスもありません。私はapply関数を調べます。乾杯! – SarthakC

+0

apply関数は私の問題を解決し、コードをきれいにしました!ありがとう! – SarthakC

関連する問題