質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

223閲覧

pythonで正規表現を行いたいのですが、タグ消去、横軸がアトラクションの種類で縦軸を時間の表をつくることができません

TakeruAsanoi

総合スコア8

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2018/07/30 00:49

編集2022/01/12 10:55

python

1import csv 2import pandas as pd 3import re 4list1 = ['disneysea-wait-time-2017-6-1-lv.html.csv','disneysea-wait-time-2017-6-2-ty.html.csv',] 5df_list = [] 6for date in list1: 7 print (date) 8 html = pd.read_csv(date) 9 df_list.append(html) 10 df_list[0] 11 print (html) 12 print (html.dtypes) 13 regexp = re.compile("<rayt.*/rayt>") 14 atags = regexp.findall(html) 15for atag in atags: 16 html = html.replace(atag, "") 17 print(html) 18 # df = data[0].apply(lambda x: pd.Series(x.split('\t')))

コードはこうなっているのですが、どうしても毎回エラーが出ます。
"
"
"<rayt>
<vmuso class=""time"">11:15</vmuso>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w20"">5</uozlv>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""w40"">30</gvqbd>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w20"">15</vmuso>
<vmuso class=""na"">-</vmuso>
<uozlv class=""w20"">15</uozlv>
<gvqbd class=""w20"">10</gvqbd>
<uozlv class=""na"">-</uozlv>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">11:45</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">15</vmuso>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""w40"">25</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w20"">15</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">15</uozlv>
<uozlv class=""w20"">5</uozlv>
<gvqbd class=""w20"">5</gvqbd>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">12:15</gvqbd>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">15</uozlv>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""w40"">30</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">10</uozlv>
<uozlv class=""w20"">5</uozlv>
<uozlv class=""w20"">15</uozlv>
<gvqbd class=""w20"">10</gvqbd>
<vmuso class=""w20"">5</vmuso>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">12:45</gvqbd>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">5</uozlv>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w40"">25</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">5</vmuso>
<gvqbd class=""w20"">15</gvqbd>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">5</uozlv>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">13:15</vmuso>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""na"">-</gvqbd>
<uozlv class=""na"">-</uozlv>
<vmuso class=""w40"">30</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">20</gvqbd>
<uozlv class=""w20"">10</uozlv>
<gvqbd class=""w20"">10</gvqbd>
<gvqbd class=""w20"">20</gvqbd>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">13:45</gvqbd>
<gvqbd class=""na"">-</gvqbd>
<uozlv class=""na"">-</uozlv>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""w40"">30</gvqbd>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""w20"">5</vmuso>
<gvqbd class=""w20"">20</gvqbd>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">20</gvqbd>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">14:15</vmuso>
<gvqbd class=""na"">-</gvqbd>
<uozlv class=""na"">-</uozlv>
<uozlv class=""na"">-</uozlv>
<vmuso class=""w40"">25</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">5</uozlv>
<vmuso class=""w20"">20</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">14:45</gvqbd>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""w40"">25</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">20</vmuso>
<gvqbd class=""w20"">10</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">15:15</gvqbd>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""w20"">15</gvqbd>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w40"">25</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">20</gvqbd>
<uozlv class=""w20"">10</uozlv>
<uozlv class=""w20"">5</uozlv>
<gvqbd class=""w20"">20</gvqbd>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">15:45</gvqbd>
<vmuso class=""na"">-</vmuso>
<vmuso class=""na"">-</vmuso>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""w40"">25</gvqbd>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""w20"">10</vmuso>
<uozlv class=""w20"">20</uozlv>
<gvqbd class=""w20"">15</gvqbd>
<gvqbd class=""w20"">10</gvqbd>
<gvqbd class=""w20"">20</gvqbd>
</rayt>"
"
"
"<rayt>
<uozlv class=""time"">16:15</uozlv>
<vmuso class=""na"">-</vmuso>
<vmuso class=""na"">-</vmuso>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""w40"">30</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">10</vmuso>
<uozlv class=""w20"">20</uozlv>
<uozlv class=""w20"">5</uozlv>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">16:45</gvqbd>
<vmuso class=""na"">-</vmuso>
<uozlv class=""na"">-</uozlv>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w40"">30</uozlv>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">10</uozlv>
<gvqbd class=""w20"">20</gvqbd>
<vmuso class=""w20"">10</vmuso>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">17:15</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""na"">-</gvqbd>
<uozlv class=""w40"">30</uozlv>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">5</uozlv>
<vmuso class=""w20"">20</vmuso>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">10</vmuso>
<uozlv class=""w20"">20</uozlv>
</rayt>"
"
"
"<rayt>
<gvqbd class=""time"">17:45</gvqbd>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""w40"">25</gvqbd>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w40"">25</uozlv>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">20</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">10</gvqbd>
<gvqbd class=""w20"">20</gvqbd>
</rayt>"
"
"
"<rayt>
<uozlv class=""time"">18:15</uozlv>
<uozlv class=""na"">-</uozlv>
<vmuso class=""na"">-</vmuso>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w40"">30</uozlv>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">5</vmuso>
<vmuso class=""w20"">20</vmuso>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">18:45</vmuso>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""w40"">30</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">5</uozlv>
<vmuso class=""w20"">20</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">10</gvqbd>
<uozlv class=""w20"">20</uozlv>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">19:15</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""na"">-</vmuso>
<uozlv class=""w20"">15</uozlv>
<gvqbd class=""w20"">10</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<gvqbd class=""w20"">20</gvqbd>
<uozlv class=""w20"">10</uozlv>
<uozlv class=""w20"">10</uozlv>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<uozlv class=""time"">19:45</uozlv>
<gvqbd class=""na"">-</gvqbd>
<uozlv class=""na"">-</uozlv>
<uozlv class=""na"">-</uozlv>
<vmuso class=""w40"">25</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""w20"">20</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""w20"">10</gvqbd>
<vmuso class=""w20"">20</vmuso>
</rayt>"
"
"
"<rayt>
<uozlv class=""time"">20:15</uozlv>
<gvqbd class=""na"">-</gvqbd>
<vmuso class=""na"">-</vmuso>
<uozlv class=""na"">-</uozlv>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">5</vmuso>
<uozlv class=""w20"">5</uozlv>
<uozlv class=""na"">-</uozlv>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">5</vmuso>
<gvqbd class=""na"">-</gvqbd>
</rayt>"
"
"
"<rayt>
<uozlv class=""time"">20:45</uozlv>
<uozlv class=""na"">-</uozlv>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""w20"">15</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""w20"">10</gvqbd>
<uozlv class=""w20"">10</uozlv>
<uozlv class=""na"">-</uozlv>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">21:15</vmuso>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">10</vmuso>
<uozlv class=""na"">-</uozlv>
<gvqbd class=""w20"">15</gvqbd>
<vmuso class=""na"">-</vmuso>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w20"">10</uozlv>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""w20"">10</uozlv>
</rayt>"
"
"
"<rayt>
<vmuso class=""time"">21:45</vmuso>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""w20"">10</vmuso>
<vmuso class=""na"">-</vmuso>
<vmuso class=""w20"">10</vmuso>
<gvqbd class=""na"">-</gvqbd>
<gvqbd class=""w20"">5</gvqbd>
<uozlv class=""na"">-</uozlv>
<uozlv class=""w20"">10</uozlv>
<uozlv class=""w20"">5</uozlv>
<gvqbd class=""w20"">10</gvqbd>
</rayt>"
"
"
このようなデータになっています。

エラーは

TypeError Traceback (most recent call last)
<ipython-input-2-dfea02db3f9f> in <module>()
8 print (html.dtypes)
9 regexp = re.compile("<rayt.*/rayt>")
---> 10 atags = regexp.findall(html)
11 for atag in atags:
12 html = html.replace(atag, "")

TypeError: expected string or bytes-like object
となっています。

表例
a b c d e f g h i j
11:15 - 5 - 30 - 15 - 10 15 -
11:45...

のようにしていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

crimnut

2018/07/30 01:19

すみません。どのようなエラーメッセージが発生するのか書いていただけると回答しやすいです。
KojiDoi

2018/07/30 02:13

アトラクションの種類などと言われても、何のことやらさっぱりわかりません。
KojiDoi

2018/07/30 02:21

最終的にどんな出力を得たいのか実例を示してみてください。
guest

回答1

0

python

1 regexp = re.compile("<rayt.*/rayt>") 2 atags = regexp.findall(html)

htmlはpandasのDataFrameだと思いますが、findall()の引数は文字列かバイト列(string or bytes-like object)でなければなりません。

どんな処理がしたいのかよくわからないので、これ以上何も言えません。

ちなみに他にも変なところがたくさんありますね。

  • 2つめのforはネストされているべきでは?
  • なんでfindallしてからreplaceしようとしているんでしょうか(subでいいのでは)
  • というか、その正規表現はマッチしないのでは(.が改行にマッチしないから)
  • というか、仮にマッチしたとして処理の雰囲気的にはぜんぶ中身消えそうですけどそれでいいのか

投稿2018/07/30 13:23

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問