こんにちは! 自然言語処理をかけてcsvに登場回数順に出力したロシア語をgoogletransにかけ、列の3番めに日本語訳を追記したいのですが、うまく列を指定できません。
どうしたら2列めに日本語訳が入るようになるでしょうかorz
開発環境
- Linux Mint19 ”Tara” Cinammon
- Pycharm
- Python3.6.6
現在の出力結果と望んでいる結果
現在の出力結果
該当するコード
python
1# -*- coding: utf-8 -*- 2from nltk import FreqDist 3import pymorphy2 4import csv 5import re 6 7import del_words 8from csvScraping import show_word 9 10downloadtxt = open('26and1.txt', 'r', encoding = 'utf-8-sig') 11texts = downloadtxt.read() 12texts = re.sub('[.,?!()\'—]', ' ', texts) 13texts = texts.split() 14 15analyzer = pymorphy2.MorphAnalyzer() 16 17lemma_list = [] 18for text in texts: 19 lemma = analyzer.parse(text)[0].normal_form 20 lemma_list.append(lemma) 21 22lemma_list = list(filter(lambda d: d not in (str(del_words.del_w)), lemma_list)) 23freqdist = FreqDist(lemma_list) 24freqdist_list = freqdist.most_common(10) # 900 25print(freqdist_list) 26with open('26and1.csv', 'w', encoding = 'utf-8-sig') as file: 27 writer = csv.writer(file, lineterminator = '\n') 28 writer.writerow(['Ру','Ном','Яп']) 29 for n in range(0, len(freqdist_list)): 30 writer.writerows([freqdist_list[n]]) 31pass 32 33show_word() # csvScraping.py
python
1# csvScraping.py 2import pandas as pd 3import csv 4from googletrans import Translator 5 6def show_word(): 7 csv_input = pd.read_csv(filepath_or_buffer= r'26and1.csv', sep=",") 8 9 with open('26and1.csv', 'r', encoding='utf-8-sig') as file: 10 for i in range(0, 10): 11 ru = csv_input.iloc[i, 0] 12 translator = Translator() 13 ru_ja = translator.translate(ru, 'ja') 14 ja = ru_ja.text 15 print(ja)
print(ja)
の部分をcsvのファイル操作に差し替えればよいのかとは思うのですが、「n列目を指定してそこにデータを追記」という方法が見つけられませんorz
よろしくお願いします。
できましたー(≧∇≦)b
csvScraping.py
のみの変更です。
csvの内容['項目名'][index番号]
で指定<3
python
1# csvScraping.py 2import pandas as pd 3from googletrans import Translator 4 5def show_word(): 6 csv_input = pd.read_csv('26and1.csv', sep=",") 7 csv_input['Яп'] = '' 8 9 for index, row in csv_input.iterrows(): 10 ru = csv_input.iloc[index, 0] 11 translator = Translator() 12 ru_ja = translator.translate(ru, 'ja') 13 ja = ru_ja.text 14 csv_input['Яп'][index] = ja 15 16 csv_input.to_csv('26and1.csv', index=False)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/04 12:34