从csv文件中找到分数

时间:2015-10-25 09:33:50

标签: python csv

我是SO的新手,我需要帮助编写我的python脚本以进行以下查询。

我有一个带有评论的csv文件,我还有另一个带有分数的csv文件(包含每个单词的分数)。我需要通过解析得分csv文件并获得添加得分结果输出来找到该评论中所有单词的得分,如下所示

注释:

sno  username  comment
1    lil      i like @dff burger
2    cdd      i hate those hamburger
....

分数:

sno  word  score
1    like   2
2    hate  -2
3    burger 1
....

期望的输出:

sno  comment                 addscore
1    i like @dff burger         3
2    i hate those hamburger    -2
...........

我的代码: -

import csv

with open('comment.csv', 'rb') as csvfile:
   reader = csv.reader(csvfile)


with open('score.csv', 'rb') as csvfile:
   reader1 = csv.reader(csvfile)
   for word in reader1:
       if word in reader:
           ## i stuck with logic here##

请帮我处理我的代码

1 个答案:

答案 0 :(得分:1)

这会让你开始,这是一个黑客,你想要的输出,写入csv或其他什么。为方便起见,我在这里使用熊猫,但你不需要。

import pandas as pd

df_comment = pd.read_csv('comment.csv')
df_score   = pd.read_csv('score.csv')

cnt = 0
for i in  df_comment['comment']:
        kp = []
        for  j in i.split(' '):
                if j in [k for k in df_score['word']]:
                        pos = [x for x, y in enumerate(df_score['word']) if y==j]
                        kp.append(df_score['score'][pos[0]])
        cnt= cnt+1

        print cnt, i, sum(kp)

希望它有所帮助。