https://www.k-hitorigoto.online/entry/2017/03/09 …
このサイトを参考に,webページの表を内容を取得しました.
以下実行内容
# ヘッダ行は除いて取得
for i in range(1,len(trs)):
tds = trs[i].find_elements(By.TAG_NAME, "td")
line = ""
for j in range(0,len(tds)):
if j < len(tds):
line += "%s\t" % (tds[j].text)
else:
line += "%s" % (tds[j].text)
print(line+"\n")
with open("a.csv", "a") as file:
print(line+"\n", file=file)
print(line+"\n")の出力結果は,
2020/10/28 06:39 1サイド 自動 自律 06:39 08:26
自律制御
となり,表の取得は成功しているのですが,csv出力したときに,
2020/10/28 06:39 1サイド 自動 自律 06:39 08:26までが,1行目のAのセルに,
自律制御が2行目のセルに格納されてしまします.
for j in range(0,len(tds)):
if j < len(tds):
line += "%s\t," % (tds[j].text)
else:
line += "%s" % (tds[j].text)
として,すべての間にカンマを入れて,2020/10/28 06:39,1サイド,自動,..としても同じセルに入ってしまします.
それぞれ一つのセルに入れるには,どのようにすればよろしいでしょうか.
環境は,
python3.8.3,windows10,
import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
import csv
です.
ご回答よろしくお願いいたします.
No.3ベストアンサー
- 回答日時:
やはりhtml側に改行が入っていますね。
html読み込み時にbrタグを削除するような処理を入れるか、ループの中でbrタグを無視するような作りにすれば良いと思います。
先述の通りpythonには明るくないため、詳しい回答ができず済みません。
csvについてですが、
これは各データをカンマで区切った形式のことを言い、通常は拡張子を”.csv”とします。
拡張子を上のようにしてエクセルで開けば、特別な設定をせずに各セルに1データずつセットしてくれます。
どのように運用したいのか把握できていないので、これという回答はできませんが、通常のテキストをエクセルに貼り付けるだけでしたら、タブ区切りのtsv形式が良いと思います。
No.1
- 回答日時:
Pythonは扱った事がないのですが…。
ソースを見ると、tdのタグでな囲われた文字列毎にタブで区切ってtrのタグで囲われたグループ毎に改行を入れているのですかね?
このソースを見ただけだと、おかしな所はないように思えます。
元のwebページの「自律制御」がtrタグで囲われていたり、「自律制御」の後に改行コードが含まれていたりしませんか?
脱線しますが、
厳密なcsvにしたいのでしたら「"%s\t,"」ではなく「"%s,」(”\t”はタブコードだと思いますので)が宜しいかと。
言語固有のことが分からないので、”\t”で正しいということでしたら申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルの作り方(CSV→...
-
タブの色を変更する方法
-
ファイル読み込みについて
-
【エクセル】改行無しテキスト...
-
awkスクリプトでダブルクォーテ...
-
VBAで巨大なファイルの途中から...
-
fopenでディレクトリ内の全ファ...
-
ReadLineでの読み出し行を指定する
-
JSP URLに表示される拡張子 .jsp
-
window.open でのファイル指定方法
-
エクセルVBAで素数だけを出力す...
-
LinuxのC言語で、ファイル名の...
-
VBAコードを張り付け後のエクセ...
-
無料配布の郵便番号自動入力cgi...
-
Perl Vlookupみたいに
-
CSVファイルについて
-
重複するデータを抽出できる秀...
-
ExcelをCSV書き出す場合のシー...
-
foreachの制御
-
fgets で値が取得できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルの作り方(CSV→...
-
C言語で特定の行を抽出する方法...
-
【エクセル】改行無しテキスト...
-
タブの色を変更する方法
-
Edge スクレイピング
-
全角と半角文字が混在している...
-
空白文字 \\f と\\v の違いに...
-
htaccessで特定のディレクトリ...
-
デルファイ TabControl タブの...
-
Arduino Excel
-
VBAのFileFormatで悩んでいるこ...
-
VBAでタブ区切りテキストの保存...
-
【Access2003】VBAでタブ区切り...
-
C++でファイルから複数行のデー...
-
PHPで掲示板を作りたいです
-
テキストファイル(tsv)を改行...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
DOSコマンドで、標準出力を出力...
-
ExcelをCSV書き出す場合のシー...
おすすめ情報
ご回答ありがとうございます.
htmlは,このような感じで書かれています.
質問時とは少し違うことをお許しください.
「"%s,」で回したのですが,やはり,1行目のA列にすべて格納されてしましす.
どのようにすればよろしいでしょうか..