csv 文件的情感分析 Python 3.8

Sentiment analysis on csv file Python 3.8

我有一个 csv 文件,我希望在其中对包含调查数据的数据集执行情绪分析。

到目前为止,这是我尝试过的方法(感谢 Rupin 在上一个问题中提出的问题!):

import csv
from collections import Counter

with open('myfile.csv', 'r') as f:
    reader = csv.reader(f, delimiter='\t')
    alist = []
    iterreader = iter(reader)
    next(iterreader, None)
    for row in iterreader:
        clean_rows = row[0].replace(",", " ").rsplit()

        alist.append(clean_rows)
        word_count = Counter(clean_rows)
        mostWcommon = word_count.most_common(3)
        print(mostWcommon)

输出几乎没问题,我遇到的唯一问题是 Python 拆分为列表的不同行,因此我的输出是这样的:

  1. ['experienced', 1]
  2. ['有经验, 1]
  3. ['有经验, 1]

我希望将所有内容拆分成一行,这样我可以获得真实的词频...有什么建议吗?

谢谢!

您正在为每一行创建一个新的 Counter 并仅打印该结果。如果你想要一个总计数,你可以在行循环之外创建计数器并用每一行的数据更新它:

import csv
from collections import Counter

with open('myfile.csv', 'r') as f:
    reader = csv.reader(f, delimiter='\t')
    alist = []
    iterreader = iter(reader)
    next(iterreader, None)
    c = Conter()
    for row in iterreader:
        clean_rows = row[0].replace(",", " ").rsplit()
        alist.append(clean_rows)
        c.update(clean_rows)
    mostWcommon = word_count.most_common(3)
    print(mostWcommon)