簡體   English   中英

將列表轉換為字符串以在python scrapy中的一行中插入我的sql

[英]convert list to string to insert into my sql in one row in python scrapy

我想將列表對象轉換為字符串並將此字符串作為一行插入mysql數據庫中。 有人可以提供解決方案嗎? 我的代碼如下所示:

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()

上面的代碼給出以下錯誤:

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:

有人可以幫我解決這個錯誤。 我被困在這里。

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

現在,您可以將此字符串插入數據庫。

不確定列表在示例代碼中的位置,但是您可以使用join從列表中創建一個字符串:

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

給出:

Thequickbrownfox

如果要將list轉換為string ,可以使用join

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

您可以在引號之間使用您選擇的任何定界符

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM