前提
ある商品のレビューのテキスト入っているcsvファイルを読み込んでグラフを表示させたい。
その読み込む際にエラーが生じた。
発生している問題・エラーメッセージ
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2
該当のソースコード
python
1# coding: utf-8 2import csv 3import pandas as pd 4import MeCab 5import collections 6import seaborn as sns 7import matplotlib.pyplot as plt 8import japanize_matplotlib 9 10files = open(r"C:\Users\Yasu\Documents\情報科学特別演習\csv\折れ線ぐらふにしたい\review_text.xlsx",encoding="utf-8",errors="ignore") 11 12data = pd.read_csv(files) 13message = data["text"] 14messagelst = message.astype(str).tolist() 15messagestr = "".join(messagelst) 16 17 18mecab = MeCab.Tagger("-Ochasen") 19 20node = mecab.parseToNode(messagestr) 21words=[] 22while node: 23 hinshi = node.feature.split(",")[0] 24 if hinshi in ["名詞","動詞","形容詞"]: 25 origin = node.feature.split(",")[6] 26 if origin == "*": 27 words.append(node.surface) 28 else: 29 words.append(origin) 30 node = node.next 31 32c = collections.Counter(words) 33sns.set(context="talk",font="IPAexGothic") 34fig, ax = plt.subplots(figsize=(8,8)) 35sns.countplot(y=words,order=[i[0] for i in c.most_common(20)]) 36 37plt.show() 38 39
試したこと
読み込みたいCSVファイルの4行目に何か問題があるようだったので確認したが、何がおかしいのかわからなかった。
補足情報(FW/ツールのバージョンなど)
python3.10.2
IDLE
windows11
Expected 1 fields in line 4, saw 2
と書いてあるとおりだと思うのでテキストエディタ等でファイルを見ましょう。
Excel ファイルを読み込む場合は read_excel() を使います。
data = pd.read_excel("C:\Users\Yasu\Documents\情報科学特別演習\csv\折れ線ぐらふにしたい\review_text.xlsx")
エクセルファイルをCSVファイルに変換するのを忘れていました!!!!ありがとうございます!解決しました。
melianさんをベストアンサーにしたいので、回答していただけますか?
quickquipさんもありがとうございました!
ありがとうございます、回答に書きました。

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