前提・実現したいこと
csvファイルへの為替相場の出力
ここに質問の内容を詳しく書いてください。
pythonのスクレイピングで為替相場の表をつくっております。
また、その出力結果をcsvファイルに書き込みするようなプログラムにしております。
print での出力では
['Currency', '通貨名', '略称 Code', 'TTS', 'TTB', '*']
['US Dollar', '米ドル', 'USD', '110.91 ', '108.91 ', '']
---以下略---
のように出力されますが、csvファイルだと
C,u,r,r,e,n,c,y
通,貨,名
略,称, ,C,o,d,e
T,T,S
T,T,B
U,S, ,D,o,l,l,a,r
米,ド,ル
U,S,D
1,1,0,.,9,1,
1,0,8,.,9,1,
---以下略---
のように文字毎にカンマが記載されます。
この文字ごとのカンマと改行を消して、
Currency
通貨名
略称, Code
TTS
TTB
US, Dollar
米ドル
USD
110.91,
108.91,
---以下略---
このように出力したいのですが、どのように変えたら良いでしょうか。
ご助言よろしくおねがいいたします。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
print での出力では ['Currency', '通貨名', '略称 Code', 'TTS', 'TTB', '*'] ['US Dollar', '米ドル', 'USD', '110.91 ', '108.91 ', ''] ---以下略--- のように出力されますが、csvファイルだと C,u,r,r,e,n,c,y 通,貨,名 略,称, ,C,o,d,e T,T,S T,T,B U,S, ,D,o,l,l,a,r 米,ド,ル U,S,D 1,1,0,.,9,1, 1,0,8,.,9,1, ---以下略--- のように文字毎にカンマが記載されます。 この文字ごとのカンマと改行を消して、 Currency 通貨名 略称, Code TTS TTB US, Dollar 米ドル USD 110.91, 108.91, ---以下略--- このように出力したいのですが、どのように変えたら良いでしょうか。 ご助言よろしくおねがいいたします。
該当のソースコード
python
1import csv 2from urllib.request import urlopen 3from bs4 import BeautifulSoup 4import ssl 5ssl._create_default_https_context = ssl._create_unverified_context 6 7 8# URLの指定 9html = urlopen("http://www.murc-kawasesouba.jp/fx/index.php") 10bsObj = BeautifulSoup(html, "html.parser") 11 12# テーブルを指定 13table = bsObj.findAll("table", {"class":"data-table5"})[0] 14rows = table.findAll("tr") 15 16cnt = 0 17country = 0 18with open("test.csv", "w", encoding='utf-8') as file: 19 writer = csv.writer(file) 20 for row in rows: 21 csvRow = [] 22 for cell in row.findAll(['td', 'th']): 23 csvRow.append(cell.get_text()) 24 cnt += 1 25 if (cnt % 6 == 0): 26 print (csvRow) 27 writer.writerows(csvRow) 28
試したこと
補足情報(FW/ツールのバージョンなど)
現在なし。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。