기본적으로 목록을 가져 와서 목록의 각 항목에 대해 트위터에 대한 검색 쿼리를 실행하는 루프를 실행하는이 작은 코드가 있습니다. 나는 목록의 각 항목이 컬렉션 이름이 원하지만 어떤 이유로 나는 db<collection_name_variable>.insert(post)>
가 실제로 작동 할 수 있도록하는 방법을 알아낼 수 없습니다 :db insert 명령의 콜렉션 이름에 대한 Python/Pymongo 변수
를 내가 오류 얻을 :
TypeError: unsupported operand type(s) for +: 'Database' and 'str'
을 나는이 알고 아마 아주 기초적이지만 나는 방금 배웁니다.
from twython import Twython
from pymongo import *
conn = Connection('localhost')
db = conn.nosqltweets
twitter = Twython()
types = ['mongodb', 'cassandra', 'couchdb']
for nosql in types:
search_results = twitter.searchTwitter(q=nosql, rpp="100")
for tweet in search_results["results"]:
from_user = tweet['from_user'].encode('utf-8')
text = tweet['text']
created_at = tweet['created_at']
id_str = tweet['id_str']
post = { 'id_str': id_str, 'from_user': from_user, 'created_at': created_at }
insert = db + nosql + ".insert(post)"
insert
당신은 유형 "데이터베이스"(DB) 및 "문자열", "사용 (NoSQL에)의/CONCATENATE 개체를 추가하려고 + " 운영자. – Fenikso
Fenikso 옙, 실제로 놀랍지 만 그 문제를 이해했는데 해결 방법을 이해하지 못했습니다. 코멘트 주셔서 감사합니다! –
@Ajj 백틱 (')을 사용하여 인라인 코드를 조정할 필요가 없습니다. –