(Python)CSV阅读器省略了一行

时间:2014-04-12 14:50:15

标签: python csv

我正在做一个情绪分析项目。

我有一个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省略了一行。 我是否以错误的方式写了分隔符? 为什么会这样,我该如何重写程序?

1 个答案:

答案 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

但是你的代码也给出了正确的结果。