2012-12-12 3 views
1

그래서 나는 mysql 테이블을 가지고 있으며 테이블의 필드 중 하나에서 각 요소를 가져 오려고합니다. 필드와 테이블을 모두 "키워드"라고합니다. 분야에는 많은 다른 무작위 낱말이 있고 나는 그 모두를 가지고 가고 텍스트 파일에 그 (것)들을 저장하는 것을 시도하고있다. 이 방법을 구현하는 데 도움이 될 것입니다, 여기까지 내가 지금까지 가지고있는 것입니다.MySQL 테이블에서 파이썬으로 텍스트 파일에 데이터 저장

#!/usr/bin/env python 
import MySQLdb 


db = MySQLdb.connect(host="", user="", passwd="", db="") 
cursor = db.cursor() 
sql = """SELECT DISTINCT keywords FROM keywords""" 
cursor.execute(sql) 
cursor.fetchall() 
db.close() 

for s in sql: 
    tweets = open("keywords.txt", "w") 

내가 생각한 것은 가능한 경우 SQL을 목록으로 가져 와서 파일에 기록하는 것입니다. 그러나 어떤 제안이라도 열어 줘서 고마워. 이 같은

+0

당신이 sql'에서 초 동안'반복하는 이유,'sql' 문자열입니다 ... – avasal

+0

난 그냥 이것에 대한 여러 가지 방법을 시도하고 있었다 죄송합니다. 이 버전을 복사하여 붙여 넣으려는 의도는 아니었지만 기본적으로 마지막 줄은 내가 바꾸려고하는 것입니다. – Neemaximo

답변

3

뭔가 작동합니다 :

import MySQLdb 

db = MySQLdb.connect(host="", user="", passwd="", db="") 
cursor = db.cursor() 
sql = """SELECT DISTINCT keywords FROM keywords""" 
tweets = open("keywords.txt", "w") 
cursor.execute(sql) 
for row in cursor: 
    print>>tweets, row[0] 
tweets.close() 
db.close() 
+0

cursor.execute (sql)은 길고 반복 할 수 없다고 생각합니다. 커서의 행과 같지 않아야합니다 : ...? – fanny

+0

@fanny : 가능합니다. 루프 이전에'cursor.execute (sql)'줄을 추가해야만 작동합니다. 어느 것이 더 짧지는 않지만 더 깨끗할 수 있습니다. – mvp

+0

맞아, 커서 .execute (SQL) 전에 호출해야합니다 :) 그리고 그것은 괜찮습니다. 내 질문에 대한 귀하의 코드와 관련된 - 특정 반복에서 "cursor.execute (sql)의 행"을 통해 - 당신이 분명히하는 동안 TypeError (cursor.execute (sql)은 오랫동안) 코드를 모방하려고 할 때 어떻게 오지? 하지 마라? :) – fanny

관련 문제