2012-01-30 2 views
0

목록 개체를 문자열로 변환하고이 문자열을 mysql 데이터베이스의 한 행으로 삽입하려고합니다. 누군가가 이것에 대한 해결책을 제공해 줄 수 있습니까? 내 코드는 다음과 같습니다목록을 문자열로 변환하여 파이썬 스콥의 한 행에 내 SQL에 삽입합니다.

File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.14.0.2841-py2.7.egg/scrapy/spider.py", line 62, in parse 
     raise NotImplementedError 
    exceptions.NotImplementedError: 

사람이 오류 좀 도와 수 :

def parse(self, response): 
    hxs = HtmlXPathSelector(response) 
    sites = hxs.select('//ul/li') 
    for site in sites: 
     con = mysqldb.connect(
        host="localhost", 
        user="dreamriks", 
        passwd="dreamriks", 
        db="scraped_data" 
       ) 
     cur = con.cursor() 
     quest = site.select('//h2').extract() 
     ans = site.select('//h3').extract() 
     meta = site.select('//meta').extract() 
     cur.execute("""Insert into scraped_data(h2, h3, meta) Values(%s,%s,%s)""",(quest,ans,meta))     
     con.commit() 
     con.close() 

위의 코드는 다음과 같은 오류를 제공합니다. 나는 이것에 붙어있다.

+0

'scraped_data에 삽입하십시오 (h2, h3. 메타)'- 그 점은 오타입니까? – eumiro

+1

요소를 문자열에 추가하면이 오류와 아무 관련이 없습니다. 스파이더 클래스의 구문 분석 메소드가 구현되지 않은 것처럼 보이는 완전한 추적을 제공합니다. –

+1

동일한 사용자가이 질문을 4 번 요청했습니다. 여기 및 : http://stackoverflow.com/questions/9079560/can-someone-tell-me-whats-wrong-with-this-script-of-mine-in-python, http://stackoverflow.com/questions/9075433/mysql에서 python-for-loop 로의 삽입 중 오류, http://stackoverflow.com/questions/9080258/problems-generating-a-list-in-python-and-storing-it -in-a-mysql-database –

답변

1

확실하지 어디에 목록은 샘플 코드이지만 join 사용하여 목록에서 문자열을 만들 :

l = ['The','quick','brown','fox'] 
s = ''.join(l) 
print(s) 

을 제공합니다

Thequickbrownfox 
+0

누가 위의 스크립트로 오류를 도와 줄 수 있습니까? – Shalini

+0

"/usr/local/lib/python2.7/dist-packages/Scrapy-0.14.0.2841-py2.7.egg/scrapy"를 봐야 할 것입니다. /spider.py "또는 작성자에게 이야기하십시오. – cdarke

2
l = ['foo', 'bar', 'baz'] 
ls = ", ".join(l) 
# ls == "foo, bar, baz" 

이제이 문자열을 데이터베이스에 삽입 할 수 있습니다.

0

liststring으로 변환하려면 join을 사용할 수 있습니다.

>>> myl = ['a','b','c'] 
>>> "".join(myl) 
'abc' 

당신은 따옴표 사이에 선택의 구분 기호를 사용할 수 있습니다

>>> myl = ['a','b','c'] 
>>> ",".join(myl) 
'a,b,c' 
관련 문제