여기에서 초급. 다음과 같은 경우가 있습니다.파이썬 목록에서 카산드라 쿼리로 값을 전달합니다.
- 각 줄에 이름이 들어있는 텍스트 파일.
- 카산드라 3.5 데이터베이스
- 파이썬 스크립트
의도 한 번에 파일 한 줄 (하나 개의 이름)에서 읽을 스크립트를 가지고 있고, 그 이름으로 카산드라를 조회하는 것입니다.
참고 : 쿼리의 목록 값을 전달하려고 할 때를 제외하고 모든 것이 올바르게 작동합니다. 나는 태그 이름 목록 구성 요소를 제거하고 이름 값 쿼리 자체를 편집하는 경우
#... driver import, datetime imports done above
#...
with open(fname) as f:
content = f.readlines()
# Loop for each line from the number of lines in the name list file
# num_of_lines is already set
for x in range(num_of_lines):
tagname = str(content[x])
rows = session.execute("""SELECT * FROM tablename where name = %s and date = %s order by time desc limit 1""", (tagname, startDay))
for row in rows:
print row.name + ", " + str(row.date)
모든 것이 잘 작동 :
I 전류가 같은 것을 가지고있다.
내가 뭘 잘못하고 있니? 당신은 단순히 content
을 반복 할 수
어떤 증상을 보이고 있습니까? 'NameError : name 'tagname'is not defined'? – Vinny
또한'tagname = str (content [x])'의 예상 값은 무엇입니까? None 일 수도 있고 근본 원인 일 수도 있습니다. – Vinny
@Vinny 아쉽게도 오류가 발생하지 않습니다. 인쇄 row.name .... 단순히 인쇄하지 않습니다. 오류가 전혀 없습니다. 그리고 이제, tagname = str (content [x])는 아무 것도 아닙니다. 인쇄 태그 이름이 완벽하게 작동합니다. – bshakya