前提・実現したいこと
pythonでスクレイピングしたリストをcsvに書き込むコードを作成しました。
リストを前回のcsvに追記したいのですが、前回のデータと今回の書き込みデータの間に一行改行されてしまいます。
改行なく追記するにはどうしたらよいのでしょうか。
(初めに書き出したデータは要素0番目から入っています。)
発生している問題・エラーメッセージ
2019/08/05 「壊れた国に歯止め」山本氏が描く野党共闘 2019/08/05 佐賀知事怒り フル規格「急に決められても」 2019/08/05 かんぽ不正販売、昨年6月には幹部が把握 2019/08/05 ソウル市、マラソン協賛からミズノ除外 2019/08/05 客室乗務員6割「盗撮された経験ある」 2019/08/05 預金が下ろせない「銀行ハラスメント」とは 2019/08/05 全英Vの渋野「プレーオフはダメ」腹くくる 2019/08/05 全英Vの渋野、小学時代はソフト上野に夢中 2019/08/05 「壊れた国に歯止め」山本氏が描く野党共闘 2019/08/05 佐賀知事怒り フル規格「急に決められても」 2019/08/05 かんぽ不正販売、昨年6月には幹部が把握 2019/08/05 ソウル市、マラソン協賛からミズノ除外 2019/08/05 客室乗務員6割「盗撮された経験ある」 2019/08/05 預金が下ろせない「銀行ハラスメント」とは 2019/08/05 全英Vの渋野、小学時代はソフト上野に夢中 2019/08/05 「プレーオフはダメ」腹くくる 強気で栄冠
該当のソースコード
python
1import urllib3 2from bs4 import BeautifulSoup 3import csv 4from datetime import datetime 5import numpy as np 6 7#毎〇新聞のニュース一覧を取得 8url = "https://mainichi.jp/" 9 10#BeautifulSoupでhtmlをテキスト化 11http = urllib3.PoolManager() 12r = http.request('GET', url) 13soup = BeautifulSoup(r.data, "html.parser") 14 15#htmlからニュース一覧を抽出 16tag_mainbox = soup.select_one(".main-box") 17tag_listA = tag_mainbox.select_one(".list-typeA") 18news_tag = tag_listA.findAll("a") 19 20addlist = [[]] 21 22for news_txt in news_tag: 23 news_csv = news_txt.text 24 num = datetime.now() #日付習得 25 num = "{0:%Y/%m/%d}".format(num) 26 addlist.append([num, news_csv]) 27 28#addlistの先頭の空リストを埋める 29addlist = np.roll(addlist, -1) 30 31#csvに書き込み 32f = open("test.csv","a") 33writecsv = csv.writer(f, lineterminator='\n') 34writecsv.writerows(addlist) 35f.close()
試したこと
上記のコードの通り、リストの要素0番目が空であることが問題だと思い、要素番号をずらしましたが解決しません。
補足情報(FW/ツールのバージョンなど)
python3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/05 22:07