2

約 50 行の文を含む csv ファイルがあります。textblob 感情分析ツールを使用しています。文の極性をテストするために、この例では、文を書き、極性と主観性を示しています。ただし、それは単一の文でのみ機能します。時間がかかりすぎるため、各行に入れて個別にテストすることはできないため、持っている csv ファイルで機能するようにしたいと考えています。どうすればこれを行うことができますか?

TextBlob はこの例を示しています。文を入力すると、極性が示されます。一度に 2 つの文を入力することはできません。以下の例にcsvファイルを入力して、すべての行の極性を得るにはどうすればよいですか?

>>> testimonial = TextBlob("Textblob is amazingly simple to use. What great fun!")
>>> testimonial.sentiment
Sentiment(polarity=0.39166666666666666, subjectivity=0.4357142857142857)
>>> testimonial.sentiment.polarity
0.39166666666666666

ちしゃくソリューションを編集したところ、うまくいきました。解決:

import csv
from textblob import TextBlob

infile = 'xxx.csv'

with open(infile, 'r') as csvfile:
    rows = csv.reader(csvfile)
    for row in rows:
        sentence = row[0]
        blob = TextBlob(sentence)
        print blob.sentiment
4

2 に答える 2

4

csv ファイルの各行を反復処理する必要があります。

まずcsvファイルを開きます。

次に、ファイルの各行について、行の最初の列にアクセスできますrow[0]

import csv
from textblob import TextBlob

infile = '/path/to/file.csv'

with open(infile, 'r') as csvfile:
    rows = csv.reader(csvfile)
    for row in rows:
        sentence = row[0]
        blob = TextBlob(sentence)
        print sentence
        print blob.sentiment.polarity, blob.sentiment.subjectivity
于 2016-02-22T17:01:26.470 に答える