質問編集履歴
2
補足を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,21 +10,27 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
> Le Monde
|
14
|
-
|
15
|
-
En
|
16
|
-
|
17
|
-
(
|
18
|
-
|
19
|
-
(
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
13
|
+
> Le Monde (新聞社名)
|
14
|
+
|
15
|
+
Economie, mardi 13 mars 2012 30 mots, p. 16 (カテゴリ・日付・文字数・ページ数)
|
16
|
+
|
17
|
+
ECONOMIE (サブカテゴリ)
|
18
|
+
|
19
|
+
En baisse(サブタイトル?)
|
20
|
+
|
21
|
+
Le Japon(タイトル)
|
22
|
+
|
23
|
+
本文1行のみ.
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
> © 2012 SA Le Monde. Tous droits réservés. Le présent document est protégé par les lois et conventions internationales sur le droit d'auteur et son utilisation est régie par ces lois et conventions.
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
28
34
|
|
29
35
|
|
30
36
|
|
@@ -32,27 +38,41 @@
|
|
32
38
|
|
33
39
|
|
34
40
|
|
35
|
-
> news·201
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
(タイトル)
|
46
|
-
|
47
|
-
(
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
41
|
+
> news·20120313·LM·0q1303_527225
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
> Le Monde (新聞社名)
|
46
|
+
|
47
|
+
Environnement & Sciences, lundi 12 mars 2012 489 mots, p. 9 (カテゴリ・日付・文字数・ページ数)
|
48
|
+
|
49
|
+
Planète (サブカテゴリ)
|
50
|
+
|
51
|
+
L'APRÈS-FUKUSHIMA Le Japon, l'année d'après la vague ENTRETIEN(サブタイトル)
|
52
|
+
|
53
|
+
Pierre-François Souyri « Les gens de Fukushima se sentent comme des sacrifiés »(タイトル)
|
54
|
+
|
55
|
+
本文1行目
|
56
|
+
|
57
|
+
本文2行目
|
58
|
+
|
59
|
+
本文3行目.
|
60
|
+
|
61
|
+
本文4行目
|
62
|
+
|
63
|
+
本文5行目.
|
64
|
+
|
65
|
+
(以下記事本文略)
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
> © 2012 SA Le Monde. Tous droits réservés. Le présent document est protégé par les lois et conventions internationales sur le droit d'auteur et son utilisation est régie par ces lois et conventions.
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
56
76
|
|
57
77
|
|
58
78
|
|
@@ -60,12 +80,16 @@
|
|
60
80
|
|
61
81
|
|
62
82
|
|
63
|
-
> news·201
|
83
|
+
> news·20120312·LM·0q1103_526673
|
84
|
+
|
85
|
+
|
64
86
|
|
65
87
|
|
66
88
|
|
67
89
|
> (以下略)
|
68
90
|
|
91
|
+
※著作権上、記事本文は掲載しておりません。
|
92
|
+
|
69
93
|
|
70
94
|
|
71
95
|
一応以下のとおり自分なりに実装してみましたが、記事本文を一塊にしてリストに追加する方法がわからず、一つの記事が複数のバラバラの要素としてリストに追加されてしまっています。
|
@@ -183,3 +207,17 @@
|
|
183
207
|
|
184
208
|
|
185
209
|
副題や筆者名が無い記事も混在し、また文章の段落数も当然ながらまちまちです。
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
なお、list_categorie_dateを表示すると以下のとおりです。
|
214
|
+
|
215
|
+
> 'Economie, mardi 13 mars 2012 30 mots, p. 16', 'Environnement & Sciences, lundi 12 mars 2012 489 mots, p. 9', 'Environnement & Sciences, lundi 12 mars 2012 390 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 661 mots, p. 9', 'Environnement & Sciences, lundi 12 mars 2012 604 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 460 mots, p. 9', 'Environnement & Sciences, lundi 12 mars 2012 447 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 32 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 372 mots, p. 10', 'Environnement & Sciences, lundi 12 mars 2012 1041 mots, p. 8', 'Environnement & Sciences, lundi 12 mars 2012 295 mots, p. 10', 'Environnement & Sciences, lundi 12 mars 2012 87 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 84 mots, p. 11', 'Environnement & Sciences, lundi 12 mars 2012 444 mots, p. 10', 'Environnement & Sciences, lundi 12 mars 2012 112 mots, p. 8', 'A la Une, lundi 12 mars 2012 27 mots, p. 1', (以下略)
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
また、list_textを表示すると以下のとおりです。
|
220
|
+
|
221
|
+
> ['', '', 'ECONOMIE', 'En baisse', 'Le Japon', "本文(1行のみ).", '', '', '', '', '', '', '', 'Planète', "L'APRÈS-FUKUSHIMA Le Japon, l'année d'après la vague ENTRETIEN", 'Pierre-François Souyri « Les gens de Fukushima se sentent comme des sacrifiés »', "本文1行目", '本文2行目', "本文3行目", (以下記事本文略), '', '', '', '', '', '', '', (以下略)
|
222
|
+
|
223
|
+
※著作権上、記事本文を記載しておりません
|
1
ソースコードとエラーメッセージを追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,21 +10,17 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
(「Le Monde」〜「news·20110321·LM·0q2003_33XXXX」で一つの記事のブロックになっており、「© 2011 SA Le Monde・・・」、「Certificat émis ・・・」の部分は同じ文字列が毎回繰り返されています。)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
13
|
> Le Monde
|
18
14
|
|
19
15
|
Environnement & Sciences, lundi 21 mars 2011 367 mots, p. 8
|
20
16
|
|
21
|
-
タイトル
|
17
|
+
(タイトル)
|
22
18
|
|
23
|
-
副題
|
19
|
+
(副題)
|
24
20
|
|
25
21
|
Brice Pedroletti(筆者名)
|
26
22
|
|
27
|
-
本文
|
23
|
+
(記事本文)
|
28
24
|
|
29
25
|
|
30
26
|
|
@@ -40,41 +36,19 @@
|
|
40
36
|
|
41
37
|
|
42
38
|
|
43
|
-
> Le Monde
|
44
|
-
|
45
|
-
Environnement & Sciences, lundi 21 mars 2011 376 mots, p. 4
|
46
|
-
|
47
|
-
タイトル
|
48
|
-
|
49
|
-
副題
|
50
|
-
|
51
|
-
Philippe Mesmer(筆者名)
|
52
|
-
|
53
|
-
本文(複数段落)
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
> © 2011 SA Le Monde. Tous droits réservés. Le présent document est protégé par les lois et conventions internationales sur le droit d'auteur et son utilisation est régie par ces lois et conventions.
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
> Certificat émis le 31 juillet 2020 à ECOLE-NATIONALE-D'ADMINISTRATION à des fins de visualisation personnelle et temporaire.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
> news·20110321·LM·0q2003_332097
|
66
|
-
|
67
39
|
|
68
40
|
|
69
41
|
> Le Monde
|
70
42
|
|
71
43
|
Environnement & Sciences, lundi 21 mars 2011 66 mots, p. 8
|
72
44
|
|
73
|
-
タイトル
|
45
|
+
(タイトル)
|
46
|
+
|
47
|
+
(副題なし)
|
74
48
|
|
75
49
|
(筆者名なし)
|
76
50
|
|
77
|
-
本文(複数段落)
|
51
|
+
(本文(複数段落))
|
78
52
|
|
79
53
|
|
80
54
|
|
@@ -90,32 +64,122 @@
|
|
90
64
|
|
91
65
|
|
92
66
|
|
67
|
+
> (以下略)
|
93
68
|
|
94
69
|
|
95
70
|
|
71
|
+
一応以下のとおり自分なりに実装してみましたが、記事本文を一塊にしてリストに追加する方法がわからず、一つの記事が複数のバラバラの要素としてリストに追加されてしまっています。
|
96
72
|
|
97
|
-
|
73
|
+
当然の帰結として「日付」リスト(list_categorie_date)の要素数と「本文」(list_text)リストの要素数が合致せずにエラーメッセージ「ValueError: arrays must all be same length」が表示されます。
|
98
74
|
|
99
75
|
|
100
76
|
|
101
|
-
|
77
|
+
また、以下ソースコードのような単純なfor文の記述では、記事カテゴリ(ex. Environnement & Sciences)と日付、文字数(mots)とページ数が分離できないだけでなく、タイトル・副題・筆者名・本文も一体となってしまいますが、良い解決方法が思い浮かびません。
|
102
78
|
|
103
79
|
|
104
80
|
|
105
|
-
|
81
|
+
### ソースコード
|
106
|
-
|
107
|
-
(1)「mots,p.」の直前の数文字を抽出してリスト1に保存し、
|
108
|
-
|
109
|
-
(2)「mots,p. 」以下「© 2011 SA・・・」以前の部分のテキストを抽出して別のリスト2に保存した上で、
|
110
|
-
|
111
|
-
(3)上記リスト1とリスト2から一つずつ要素を取り出してcsvファイルに書き出すことを繰り返す
|
112
82
|
|
113
83
|
|
114
84
|
|
115
|
-
|
85
|
+
```Python
|
116
86
|
|
117
|
-
|
87
|
+
import pandas as pd
|
118
88
|
|
119
89
|
|
120
90
|
|
91
|
+
with open('/Users/hankechi78/Desktop/lemonde_test/articles/13032012-21032011lemonde_Japon_articles.txt', encoding='utf-8') as f:
|
92
|
+
|
93
|
+
lines = f.readlines()
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
lines_strip = [line.strip() for line in lines]
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
#日付の含まれる行には必ず「mots, p. 」という文字列があることに着目(ただし、これでは不要な情報であるカテゴリ・ページ数を日付の情報から分離できない)
|
102
|
+
|
103
|
+
list_categorie_date = [line for line in lines_strip if ' mots, p. ' in line]
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
list_text = []
|
108
|
+
|
109
|
+
#不要な部分をif文で全て排除しながらリストにfor文で一文ずつ追加していく
|
110
|
+
|
111
|
+
for line in lines_strip:
|
112
|
+
|
113
|
+
if (not line.startswith('Le Monde')
|
114
|
+
|
115
|
+
and not ' mots, p. ' in line
|
116
|
+
|
117
|
+
and not line.startswith('©')
|
118
|
+
|
119
|
+
and not line.startswith('Certificat émis le 31 juillet 2020')
|
120
|
+
|
121
|
+
and not line.startswith('news·20')):
|
122
|
+
|
123
|
+
list_text.append(line)
|
124
|
+
|
125
|
+
#これではタイトル・副題・筆者名・記事本文が区別できない上に同じ記事がバラバラの要素としてリストに保存されてしまいますが、他に思いつきません・・・
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
df_lemonde = pd.DataFrame(
|
130
|
+
|
131
|
+
{'categorie_and_date': list_categorie_date,
|
132
|
+
|
133
|
+
'text': list_text
|
134
|
+
|
135
|
+
})
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
df.to_csv('lemonde_test')
|
140
|
+
|
141
|
+
```
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
### 発生している問題・エラーメッセージ
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
```
|
150
|
+
|
151
|
+
Traceback (most recent call last):
|
152
|
+
|
153
|
+
File "csv_convert.py", line 19, in <module>
|
154
|
+
|
155
|
+
df_lemonde = pd.DataFrame(
|
156
|
+
|
157
|
+
File "/Users/hankechi78/opt/anaconda3/lib/python3.8/site-packages/pandas/core/frame.py", line 435, in __init__
|
158
|
+
|
159
|
+
mgr = init_dict(data, index, columns, dtype=dtype)
|
160
|
+
|
161
|
+
File "/Users/hankechi78/opt/anaconda3/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 254, in init_dict
|
162
|
+
|
163
|
+
return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
|
164
|
+
|
165
|
+
File "/Users/hankechi78/opt/anaconda3/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 64, in arrays_to_mgr
|
166
|
+
|
167
|
+
index = extract_index(arrays)
|
168
|
+
|
169
|
+
File "/Users/hankechi78/opt/anaconda3/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 365, in extract_index
|
170
|
+
|
171
|
+
raise ValueError("arrays must all be same length")
|
172
|
+
|
173
|
+
ValueError: arrays must all be same length
|
174
|
+
|
175
|
+
```
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
### 補足
|
180
|
+
|
181
|
+
「Le Monde」〜「news·20XXXXXX·LM·0q2003_33XXXX」で一つの記事のブロックになっており、「© 20・・・」、「Certificat émis ・・・」の部分は同じ文字列が毎回繰り返されています。
|
182
|
+
|
183
|
+
|
184
|
+
|
121
|
-
|
185
|
+
副題や筆者名が無い記事も混在し、また文章の段落数も当然ながらまちまちです。
|