2016-03-31 9 views
0

私はいくつかのデータをウェブサイトから取得しています。これは私がそれをつかむために使用したコードです(私の実際のコードははるかに長いですが、私はこれについてまとめています)。 文字列のリストをテキストファイルに縦に印刷するにはどうすればよいですか?

lid_restrict_save = [] 
for t in range(10000,10020): 

    address = 'http://www.tspc.oregon.gov/lookup_application/' + lines2[t] 

    page = requests.get(address) 

    tree = html.fromstring(page.text) 

    #District Restriction 
    dist_restrict = tree.xpath('//tr[11]//text()') 
    if u"District Restriction" in dist_restrict: 
     lid_restrict_save.append(id2) 

私はこのリストをエクスポートしようとしている:

print lid_restrict_save 
[['5656966VP65', '5656966RR68', '56569659965', '56569658964']] 

をテキストファイルに。このコードは、働いていたが、私が試したとき、私は0

f = open('dis_restrict.txt', 'r+') 

for j in range(0,len(ldob_restrict)): 
    f.write(ldob_restrict[j].encode("utf-8") + ' \n') 

f.close() 

からrangeを開始したときにのみ

5656966VP65 
5656966RR68 
56569659965 
56569658964 

f = open('dis_restrict_no_uniqDOB2.txt', 'r+') 

for j in range(0,len(lid_restrict_save)): 
    s = ((unicode(lid_restrict_save[j]).encode('utf-8') + ' \n')) 
    f.write(s) 

f.close() 

私は、テキストはこのように見て出て来てほしいですコードを変更するこのエラーが発生し続ける:

"AttributeError: 'list' object has no attribute 'encode'."

私はherehere、およびhereからの提案を試みましたが、役に立たなかったです。

誰かがヒントがあれば、それは非常に感謝します。

+0

'lid_restrict_save'は、ネストされたリストです。 'lid_restrict_save = lid_restrict_save [0]' –

+0

@ Farhan.Kを使用してください。私は 'IndexError:list index of range'を取得しています。それはループ内または 'lid_restrict_save = []'の下にネストされるべきですか? – otteheng

答えて

0

lid_restrict_saveはネストされたリストなので、最初の要素は文字列ではないためエンコードできません。

あなたはこれを使用してtxtファイルに書き込むことができます:

lid_restrict_save = [['5656966VP65', '5656966RR68', '56569659965', '56569658964']] 

lid_restrict_save = lid_restrict_save[0] # remove the outer list 

with open('dis_restrict.txt', 'r+') as f: 
    for i in lid_restrict_save: 
     f.write(str(i) + '\n') 
+0

完全に動作します。 – otteheng

+0

これはやや無関係です。私はcsvに一連の要素(名前、雇用者など)をエクスポートしており、それらはネストされたリストです。私は 'lname = lname [0]'を使い、外側の括弧は消えましたが、1つの項目だけが出力されました。角括弧を消す方法を知っていますか?また、 'range' 10000-10020を通して印刷しますか? – otteheng

+0

ループの前に 'lname = lname [0]' _を置く必要があります。私はあなたがそれをループの中に入れていると思いますか? –

関連する問題