2017-11-04 1 views
-3

트윗 목록을 가져 왔으며 @ index [0] WORD 및 index [1] 숫자 값이 포함 된 CSV 파일을 가져 왔습니다. CSV 파일에는 수천 개의 단어와 해당 값이 있습니다.for 루프는 마지막으로 가져온 항목 만 사용합니다.

트윗의 한 단어가 CSV 파일의 단어와 일치하는지 확인하려고합니다. '성공'과 해당 숫자 값을 인쇄하십시오. 내 루프에서는 csv 파일의 마지막 단어와 해당 값만이 단일 트윗과 비교하여 사용됩니다 ... 어떻게 해결합니까?

for single_tweet in tweets: 
    print(single_tweet) 
    print(line[0]) 
    if line[0] in single_tweet: 
     print("success",line[1]) 

CSV 파일의 형식 - 그것은 목록은 : 파일명의 라인 : 라인 = line.split (",") 라인 [1] = 라인 [1] .strip ("\ n") line [1] = float (line [1]) 인쇄 (라인)

+1

'line' 값은 루프에서 변경되지 않습니다. –

+0

어떻게 값을 바꿀까요? – vvv12308

답변

0

나는 대답을 제안 할 것입니다. 어쩌면 당신은 그것에서 몇 조각을 움켜 잡고 더 개발할 수 있습니다 :)

시작 CSV 같은 파일을 만들어 보겠습니다. 이제

import io 

csvstr = u"""\ 
Monkey,1 
Lion,2 
Spider,3""" 

file = io.StringIO(csvstr) 

의 해당 파일에서 사전을 만들어 보자 :

tweets = ["I saw a cat", "I saw a lion"] 

그리고 마지막으로 루프 :

for ind, single_tweet in enumerate(tweets): 
    for word in single_tweet.split(): 
     searchword = word.title() # make first letter capital, e.g. cat -> Cat 
     if d.get(searchword): 
      print("Found {} , id: {} in tweet {}".format(word, ind+1, d[searchword])) 

인쇄

d = dict(csv.reader(file)) # dictionary with word and index 
# d = {'Lion': '2', 'Spider': '3', 'Monkey': '1'} 

가의 일부 가짜 트윗을 만들어 보자 :

Found lion , id: 2 in tweet 2 
+0

매우 도움이 되긴하지만 CSV 파일을 [ 'hi', -0.12]와 같은 일련의 목록으로 유지하려고합니다. 목록을 염두에두고 서식을 다시 지정할 수있는 방법이 있습니까? – vvv12308

관련 문제