2017-11-26 1 views
0

이것은 지금까지 쓴 스크립트입니다. 내가 처음 발견 한 블로커는 MySQLdb 패키지를 설치할 수 없다는 것입니다. 아마도 다른 모듈을 사용할 수 있습니까? 어댑터 여기파이썬을 통해 MySQL 데이터베이스에 데이터를 저장하는 방법

import soundcloud 
import pandas as pd 
from pandas import DataFrame 
import MySQLdb 
client = 
soundcloud.Client(client_id='696b5ca70f5401cc46c9011c78831877') 
userId = '110652450' 
tracks = client.get('/users/'+userId+'/tracks') 
data = [] 
for x in tracks: 
    data.append({'Track_Name':x.title,'plays':str(x.playback_count)}) 

df = pd.DataFrame(data) 

database = MySQLdb.connect (host="127.0.0.1",user ="root",passwd="XXX",db="soundcloudstore") 
cursor = database.cursor() 
query = """INSERT INTO Tracks (Track_Name, Plays) VALUES (%s,%s)""" 

for x in df: 
    Track_Name = df[['Track_Name']].value 
    Plays = df[['plays']].value 

    values = (Track_Name, Plays) 
    cursor.execute(query, values) 

cursor.close() 

database.commit() 

database.close() 
+0

https://stackoverflow.com/questions/25865270/how-to-install-python-mysqldb-module-using-pip mysql을 설치하려면이 부분을 참조하십시오. –

+0

감사합니다 Salmaan,하지만 brew install mysql-connector-c를 설치하면 (작동하는) 여전히 'MySQLdb'모듈을 사용할 수 없습니다. 아마 다른 모듈을 추천 해 주시겠습니까? – pepperjohn

+0

이 import mysql.connector를 사용하여 가져 왔습니까? 작동하지 않는다면 다른 것들을 시도 할 수 있습니다. –

답변

0

다운로드 : https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html

그런 다음 당신은 그래서를 사용합니다 :

import mysql.connector 

data = [] 
for x in tracks: 
    data.append((x.title, str(x.playback_count))) 

conn = mysql.connector.connect(user='', password='', 
           host='', 
           database='') 

cursor = conn.cursor() 

q = """INSERT INTO Tracks (Track_Name, Plays) VALUES (%s,%s)""" 

cursor.executemany(q, data) 

이 아무 이유에 대한 dataframe에로드에서 당신을 저장하고 executemany가 삽입에 최적화되어 있습니다 .

+0

안녕하세요 Eagle, 고마워요. 위의 스크립트를 실행하면 추가 섹션에있는 '잘못된 구문'오류가 표시됩니다. 어떻게 고칠 수 있니? – pepperjohn

+0

편집하기 전에 게시 한 내용을 사용했을 수도 있습니다. – eagle

+0

아 감사합니다! 이제 '오래된'오류 메시지가 나타납니다. 'mysql'모듈이 없습니다. 의견이 있으십니까? – pepperjohn

관련 문제