我正在做一个情绪分析项目。
我有一个csv文件,格式如下:
|happy|,|I'm happy|
|sad|,|Today is a bad day|
|angry|,|I hate this|
...
声明字典类型变量并用于存储不同情绪的计数。
count = {"happy":0, "sad":0, "angry":0}
定义一个函数来检索情绪和消息。
total_status = 0
inpStatus = csv.reader(open(Filename, 'rb'), delimiter=',', quotechar='|')
for row in inpStatus:
sentiment = row[0]
status = row[1]
total_status += 1
...
for s in count:
if (sentiment == s):
count[s] += 1
我发现第一行(即|happy|,|I'm happy|
)和文件的最后一行在计数中被跳过。并且total_status
省略了一行。
我是否以错误的方式写了分隔符?
为什么会这样,我该如何重写程序?
答案 0 :(得分:0)
好吧,实际上我重写了你的代码,它运行正常:
from csv import reader
total_status = 0
count = {'happy': 0, 'sad': 0, 'angry':0}
for sentiment, status in reader(open(filepath, 'rb'), delimiter=',', quotechar='|'):
total_status += 1
count[sentiment] += 1
但是你的代码也给出了正确的结果。