質問編集履歴

3

該当箇所のコードのFor文部分を追記しました。

2020/11/17 23:45

投稿

tompooh
tompooh

スコア6

test CHANGED
File without changes
test CHANGED
@@ -44,6 +44,80 @@
44
44
 
45
45
 
46
46
 
47
+ #データ抽出
48
+
49
+ ##取得したHTMLが有効であったか、エラーであったを判別するためのリストを作りたい
50
+
51
+
52
+
53
+ for i in range(numberofURLs):
54
+
55
+ dfname = 'df' + str(i)
56
+
57
+
58
+
59
+ for url in URLs_list:
60
+
61
+ try:
62
+
63
+ response = requests.get(url)
64
+
65
+ response.encoding = response.apparent_encoding
66
+
67
+ soup = BeautifulSoup(response.text, 'html.parser')
68
+
69
+
70
+
71
+ title = []
72
+
73
+ for i in soup.find_all('p',):
74
+
75
+ ## 改行コードを削除
76
+
77
+ title.append(i.getText()[0:].replace('\n', ''))
78
+
79
+ for i in soup.find_all('td',):
80
+
81
+ title.append(i.getText()[0:].replace('\n', ''))
82
+
83
+
84
+
85
+ #リストを一つの連続した文字列に変換
86
+
87
+ mojiretu = ''.join(title)
88
+
89
+
90
+
91
+ #検索結果をリスト化
92
+
93
+ result = []
94
+
95
+ for keyword in Keywords_list:
96
+
97
+ result.append(mojiretu.count(str(keyword)))
98
+
99
+ dfname = pd.DataFrame(result,columns=[url])
100
+
101
+ df[url] = dfname
102
+
103
+
104
+
105
+ except Exception:
106
+
107
+ result = []
108
+
109
+ for i in Keywords_list:
110
+
111
+ result.append(0)
112
+
113
+
114
+
115
+ dfname = pd.DataFrame(result,columns=[url])
116
+
117
+ df[url] = dfname
118
+
119
+
120
+
47
121
  #Pandas Dataframeに処理
48
122
 
49
123
  dfset = df.set_index('Keywords')
@@ -56,7 +130,9 @@
56
130
 
57
131
  reversedf_ascend = reversedf.sort_values('Total', ascending=False)
58
132
 
133
+
134
+
59
- reversedf_ascend
135
+ display(reversedf_ascend)
60
136
 
61
137
 
62
138
 

2

ありがとうございます。追加で実現したいことを追記しました。よろしくお願いいたします。

2020/11/17 23:45

投稿

tompooh
tompooh

スコア6

test CHANGED
File without changes
test CHANGED
@@ -98,6 +98,20 @@
98
98
 
99
99
 
100
100
 
101
+ ありがとうございます。
102
+
103
+ 教えて頂いた以下のやり方で試したところ近づいたような気がしましたが、まだ思うような結果となっていません。
104
+
105
+ from IPython.display import display
106
+
107
+ display(df)
108
+
109
+ ![現状の出力結果](c0225add6c37e569a6bf018c0a442d62.jpeg)
110
+
111
+ ![実現したいこと](b22de133e6d56a4540b7338bafcdca1d.jpeg)
112
+
113
+
114
+
101
115
  ### 補足情報(FW/ツールのバージョンなど)
102
116
 
103
117
 

1

ご指摘の点、加筆しました。よろしくお願いします。

2020/11/17 23:43

投稿

tompooh
tompooh

スコア6

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,21 @@
4
4
 
5
5
  処理結果をPandasのDataframeに実行中にリアルタイムで表示しようとしています。
6
6
 
7
- For文で繰り返し処理をしていて、各回の結果がDataframeの一になります。
7
+ For文で繰り返し処理をしていて、各回の結果がDataframeの一になります。
8
8
 
9
9
  For文が多数の処理を行うため、実行中も出力結果を確認したく、実行中にDataframeをリアルタイムで表示し、更新し続けるにはどのようにすればよいでしょうか。
10
10
 
11
+
12
+
13
+ ![出力イメージ](d7179e0829e0bf6490b3368e8e68339e.png)
14
+
15
+ 出力イメージはこのような感じです。実現したいことは一つ一つの行が追加されるたびに、出力結果が更新していくのを可視化したいです。
16
+
17
+
18
+
11
19
  Print('aaa', flush = True)のPanda DataFrame版のようなことをやりたいです。
20
+
21
+
12
22
 
13
23
 
14
24
 
@@ -23,8 +33,6 @@
23
33
  AttributeError: 'DataFrame' object has no attribute 'flush'
24
34
 
25
35
  ```
26
-
27
-
28
36
 
29
37
  ### 該当のソースコード
30
38
 
@@ -60,6 +68,36 @@
60
68
 
61
69
 
62
70
 
71
+ なお、Print(reversedf_ascend)のようにやるとこのような出力結果となってしまいます。
72
+
73
+
74
+
75
+ Keywords Professor Assistant \
76
+
77
+ https://www.jica.go.jp/jica-ri/experts/takahara... 5 1
78
+
79
+ https://www.bbb 0 0
80
+
81
+ https://www.aaa 0 0
82
+
83
+ https://www.jica.go.jp/jica-ri/ja/publication/t... 0 0
84
+
85
+
86
+
87
+ Keywords Head Total
88
+
89
+ https://www.jica.go.jp/jica-ri/experts/takahara... 1 7
90
+
91
+ https://www.bbb 0 0
92
+
93
+ https://www.aaa 0 0
94
+
95
+ https://www.jica.go.jp/jica-ri/ja/publication/t... 0 0
96
+
97
+
98
+
99
+
100
+
63
101
  ### 補足情報(FW/ツールのバージョンなど)
64
102
 
65
103