2つの問題がありますが、1つの問題を解決するともう一方の問題が解決すると思います。 私の目的は、いくつかの異なるWebページに移動し、ノード名を含む行を見つけることです、私は正常に動作しているためのforループを作成することができました。私のforループが再び実行されるたびに唯一の問題はリストから最後のノード名エントリを削除し、新しいノード名をその場所に追加することでリストに1つのノード名を残します。Python 3:My forループが最後のリストエントリを置き換えるのではなく、最後のリストエントリを置き換えています
今
webstringy = "mycompanysite.com/?NodeID="
webpage = "mycompanysite.com/?NetworkID=36"
r2 = s2.get(webpage)
bsobjswap = BeautifulSoup(r2.content)
gotopagenums = [re.findall("\d+", i.get('onclick')) for i in bsobjswap.findAll('tr', attrs={'onclick':True})]
#link = (len(gotopagenums))
print (gotopagenums)
results = open("niki2.csv", 'w', newline='')
wr2 = csv.writer(results, dialect='excel')
for i in gotopagenums:
wr2.writerows([i])
for nodeno in gotopagenums:
nodenojoin = "".join(nodeno)
weblink = [webstringy+nodenojoin]
for weblnky in weblink:
r2 = s2.get(weblnky)
bsobjswap2 = BeautifulSoup(r2.content)
nodename = [(bsobjswap2.h1.span)]
test = [nodename]
test3 = '\n'.join(str(e) for e in test)
#if test3.startswith("[<span"):
# if test3.endswith("</span>]"):
test4 = (test3[72:])
test5 = (test4[:-9])
test5 = [test5]
print (test5)
resultfile = open("niki.csv", 'w')
wr = csv.writer(resultfile, delimiter=',', dialect='excel')
for i in test5:
wr.writerows([i])
wr.writerows('\n')
を発行に関する完全なコード、私はこれを実行すると最初のcsvファイル(niki2.csv)が正常に動作し、私は(すべてのエントリが1つのリストにあるため、これは各リストを想定しています私が好きなエントリは
問題のコード
for weblnky in weblink:
r2 = s2.get(weblnky)
bsobjswap2 = BeautifulSoup(r2.content)
nodename = [(bsobjswap2.h1.span)]
test = [nodename]
test3 = '\n'.join(str(e) for e in test)
#if test3.startswith("[<span"):
# if test3.endswith("</span>]"):
test4 = (test3[72:])
test5 = (test4[:-9])
test5 = [test5]
print (test5)
resultfile = open("niki.csv", 'w')
wr = csv.writer(resultfile, delimiter=',', dialect='excel')
for i in test5:
wr.writerows([i])
wr.writerows('\n')
)個別の行でCSVに追加され、これは私の問題は、私は信じている、あるコードの一部です。私は、forループの中にTEST5リストを印刷するとき、私はループ出力
['GG Alperton']
['GG Angel']
['GG Ashford']
['GG Barking']
['GG Bedford']
['GG Birmingham']
['GG Bolton']
['GG Bothwell Street']
['GG Bournemouth']
['GG Bracknell']
['GG Brighton London road']
['GG Brighton Madeira']
['GG Bristol']
['GG Cardiff']
['GG Chadwell Heath']
['GG Charing Cross']
['GG Chelmsford']
['GG Colchester']
['GG Crawley']
['GG Croydon']
['GG Dartford']
['GG Derby']
['GG Ealing']
['GG East Croydon']
['GG Eastbourne']
FOR
を取得し、私はループの外TEST5印刷するとき、私はそう最後のエントリである
['GG Eastbourne']
を取得します試してみると、csvに書き込むときには、このエントリだけが含まれています。
上記のすべてのエントリを1つのリストにまとめて、.csvに正しく印刷できるようにしてください。
私は追加、マッピング、結合、より多くのfor-loopsを試しましたが、私はそれを理解できません。 GAURAV DHAMA
[['GG Alperton']]
[['GG Angel']]
[['GG Ashford']]
[['GG Barking']]
[['GG Bedford']]
[['GG Birmingham']]
[['GG Bolton']]
[['GG Bothwell Street']]
[['GG Bournemouth']]
[['GG Bracknell']]
[['GG Brighton London road']]
[['GG Brighton Madeira']]
[['GG Bristol']]
[['GG Cardiff']]
[['GG Chadwell Heath']]
[['GG Charing Cross']]
[['GG Chelmsford']]
[['GG Colchester']]
[['GG Crawley']]
[['GG Croydon']]
[['GG Dartford']]
[['GG Derby']]
[['GG Ealing']]
[['GG East Croydon']]
[['GG Eastbourne']]
返信ありがとうございますが、リスト内の最後のエントリだけで同じ出力が得られています – vempi12
iveが出力を私の質問の下に表示する方法を追加しました – vempi12
回答を編集しました。もう一度 –