###前提・実現したいこと
PythonでCSVファイルを読み込んでMeCabによる形態素解析を行いたいです。
twitterのツイートをCSVファイルに変換したものを読み込ませて名詞だけを取り出して、出てきた回数をカウントするものです。
参考にしているサイトはこちらです。
http://stone-book.hatenablog.com/entry/2016/10/10/231324
###発生している問題・エラーメッセージ
実行時に出てくるのは
runfile('C:/Users/seatrp/.spyder-py3/pro4/pro4-2.py', wdir='C:/Users/seatrp/.spyder-py3/pro4')
Traceback (most recent call last):
File "<ipython-input-2-b61b8e7c8e14>", line 1, in <module>
runfile('C:/Users/seatrp/.spyder-py3/pro4/pro4-2.py', wdir='C:/Users/seatrp/.spyder-py3/pro4')
File "C:\Users\seatrp\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\Users\seatrp\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/seatrp/.spyder-py3/pro4/pro4-2.py", line 32, in <module>
wordlist = pd.read_csv("out_mecab2.txt" , header=None , delimiter="\t")
File "C:\Users\seatrp\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 562, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Users\seatrp\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 315, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "C:\Users\seatrp\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 645, in init
self._make_engine(self.engine)
File "C:\Users\seatrp\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 799, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "C:\Users\seatrp\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 1213, in init
self._reader = _parser.TextReader(src, **kwds)
File "pandas\parser.pyx", line 523, in pandas.parser.TextReader.cinit (pandas\parser.c:5214)
EmptyDataError: No columns to parse from file
そして
「mecab.exe - アプリケーションエラー」のウィンドウ
「アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください」
というものです。
用意したCSVファイルが10行あり、このエラーのウィンドウが10回出てくるのでMeCabを呼び出す際に問題が起こっているのかな・・・とは思うのですが解決の仕方がどうもよくわかりません。
###該当のソースコード
開発環境としてSpyderを使っています。
import subprocess import pandas as pd import codecs import re #CSVファイル読込 datas = pd.read_csv("tweet2.csv" , header=None) for key, row in datas.iterrows(): #Mecab用に出力 fout =codecs.open("in_mecab2.txt", "w" , "utf-8") #5列目にツイート本文 tw = str(row[5]) #英数字を消し、日本語のみに tw = re.sub("[^ぁ-んァ-ンー一-龠]", "", tw); #Mecabに食わせるファイルを出力 fout.writelines(tw) fout.close() #Mecab実行 -E でEOFを出力しない、 >> で追記 cmd = "\"C:\Program Files (x86)\MeCab\bin\mecab.exe\" < in_mecab2.txt >> out_mecab2.txt -E \"\" " subprocess.call(cmd , shell=True) #出力結果を読込 wordlist = pd.read_csv("out_mecab2.txt" , header=None , delimiter="\t") #一般名詞だけ抽出 MeCabの形態素解析結果に品詞が記載されている nounlist = wordlist[wordlist[1].str.contains("名詞,一般")] #名詞のカウントをする pd.DataFrame(nounlist[0].value_counts(), columns=["COUNT"])
###試したこと
エラーコードを調べたところVisual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージの32bit版をインストールすると解決する場合があるとのことだったのでやってみたのですがダメでした。
https://www.microsoft.com/ja-jp/download/details.aspx?id=30679
###補足情報(言語/FW/ツール等のバージョンなど)
最後になりますが現在の環境を挙げさせていただきます。
OS:Windows10(64bit)
言語:Python3.5.2(Anaconda4.2.0利用しインストール)
形態素解析ツール:MeCab
ほぼ以下のサイトの通りにやってみました。
http://qiita.com/h_kabocha/items/5bee9e9b852aed11411b
原因わかる方いらっしゃいましたら回答のほどよろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー