質問編集履歴
3
該当箇所のコードのFor文部分を追記しました。
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
ありがとうございます。追加で実現したいことを追記しました。よろしくお願いいたします。
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
|
+

|
110
|
+
|
111
|
+

|
112
|
+
|
113
|
+
|
114
|
+
|
101
115
|
### 補足情報(FW/ツールのバージョンなど)
|
102
116
|
|
103
117
|
|
1
ご指摘の点、加筆しました。よろしくお願いします。
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
|
+

|
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
|
|