URLのリストをurllib2とBeautifulSoupを使用してWebページからスクレイプしているcsvファイルに入れようとしています。私はユニコードとしてcsvファイルへのリンクを書き、utf-8にも変換しようとしました。どちらの場合も、各文字は新しいフィールドに挿入されます。Python CSVで各文字を新しいフィールドに入れたときの問題
はここに(私は、少なくともこれら2つの方法でそれを試してみた)私のコードです:
f = open('filename','wb')
w = csv.writer(f,delimiter=',')
for link in links:
w.writerow(link['href'])
そして:
[<a href="#Flyout1" accesskey="2" class="quicklinks" tabindex="1" title="Skip to content">Quick Links: Skip to main page content</a>, <a href="#search" class="quicklinks" tabindex="1" title="Skip to search">Skip to Search</a>, <a href="#News" class="quicklinks" tabindex="1" title="Skip to Section table of contents">Skip to Section Content Menu</a>, <a href="#footer" class="quicklinks" tabindex="1" title="Skip to site options">Skip to Common Links</a>, <a href="http://www.hhs.gov"><img src="/ucm/groups/fdagov-public/@system/documents/system/img_fdagov_hhs_gov.png" alt="www.hhs.gov link" style="width:112px; height:18px;" border="0" /></a>]
:
f = open('filename','wb')
w = csv.writer(f,delimiter=',')
for link in links:
w.writerow(link['href'].encode('utf-8'))
links
はこのようになりますリストです
すべてのリンクに'href'
というキーがあるわけではありませんが、ここでは表示されていないコードでチェックしています。どちらの場合も、正しい文字列がcsvファイルに書き込まれますが、各文字は新しいフィールドにあります。
どのような考えですか?
Rumbalskiすぐに助けてくれてありがとう。私はPHPの背景から来て、Pythonのリスト、辞書、タプルはループのために私を投げます。 'TypeError:文字列インデックスは整数でなければならない ' – tchaymore
@tchaymoreエラーは文字列にインデックスを付けるために使用している' href''からのものです。あなたはそれをすることはできません。整数を使用して、文字列内の地点を参照することができます。しかし、文字列ではありません。あなたのリンク変数があなたが望んでいたものではないと思います( ''タグ内の属性の辞書)。 –
ああ、私は愚かなことに、同じ変数名をスクリプトで2回使いました.1つは文字列で、1つはリストでした。私の愚かさを実現するための忍耐力に感謝します。 – tchaymore