2015-02-04 2 views
0

MySQL 데이터베이스에서 파이썬 사전을 삽입하고 검색하기 위해 SQL 쿼리를 구성해야하는 방법은 무엇입니까?MySQL 데이터베이스에 파이썬 사전 저장

parsed_tweets는 내가 저장할 수 있기를 원하는 치매의 한 예입니다.

for tweet in twtsearch.search_tweets_iterable(twtsearchorder): 
    if tweet_limit > 0 : 
     parsed_tweets['userid'] = tweet['user']['id'] 
     parsed_tweets['uname'] = tweet['user']['screen_name'] 
     parsed_tweets['content'] = tweet['text'] 
     parsed_tweets['location'] = tweet['user']['location'] 
     parsed_tweets['retweets'] = tweet['retweet_count'] 
     parsed_tweets['favs'] = tweet['favorite_count'] 
+1

DB 스키마가 있습니까? 그렇지 않다면 (단지 하나의 열에 모든 값을 저장하는 것) 당신의 dict의 덤프 json을 저장하십시오. 만약 당신이 스키마를 가지고 있다면 mysqldb는'** parsed_tweets'를 호출하는 것과 같은 일을 할 수 있다고 확신합니다. –

+0

나는 DB 스키마를 가지고 있으며 가능한 경우 구조를 확장하려고합니다. 바로 지금 보이는 것입니다. http://gyazo.com/163db9070f309eb6f3a32f8f0d8618ce – user3204064

+0

글쎄 mysqldb 쿼리는 다음과 같습니다 :'c.execute ("INSERT INTO blabla (col1, ...) VALUES (?, ...)", arg1, arg2 ...)'당신은'c.execute ("INSERT INTO blabla ("+ ",".join (d.keys()) + ") VALUES ("+ ",".join _OrderedDict_에서 데이터를 포함하는'd'를 사용하여 [?] * len (d)) + ")", * d.keys())' 그러나 이것은 매우 오류가 발생하기 쉽고 보안에 대해서도 말하지 않습니다. SqlAlchemy와 같은 ORM을 사용해야 할 수도 있습니다. –

답변

0

mySQL은 JSON 형식을 지원하지 않으므로 불행히도 mySQL에 JSON을 텍스트로 저장하는 것이 가장 좋습니다. json을 가져 와서 dump 메소드를 호출하여 JSON을 텍스트로 변환하면됩니다. 마찬가지로 load 메소드를 호출하여 json을 프로그램으로 다시 구문 분석 할 수 있습니다.

json을 DB에 저장해야하는 경우 couchDB를 사용해보십시오.

+0

답장을 보내 주셔서 감사합니다. – user3204064

+0

또 다른 방법은 사전을 파일로 덤프하고 DB의 파일에 대한 참조를 저장하는 것입니다. – mattsap

관련 문제