回答編集履歴
2
別ファイルに出力する例を追加しました。
test
CHANGED
@@ -103,3 +103,73 @@
|
|
103
103
|
また、読み込んだファイルに直接書き戻すのはその後の利用を考えるとあまり良くないと考えます。
|
104
104
|
|
105
105
|
別のファイルに出力されることを検討してみてください。
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
追記: 別ファイルに出力する場合のスクリプトです。
|
112
|
+
|
113
|
+
```python
|
114
|
+
|
115
|
+
import csv
|
116
|
+
|
117
|
+
import glob
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
from janome.tokenizer import Tokenizer
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
t = Tokenizer()
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
def parser(text):
|
130
|
+
|
131
|
+
result = t.tokenize(text)
|
132
|
+
|
133
|
+
return "|".join(result)
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
t = Tokenizer(wakati=True)
|
140
|
+
|
141
|
+
path = "./input"
|
142
|
+
|
143
|
+
file_list = glob.glob(path + '/' + '*.csv')
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
for filename in file_list:
|
148
|
+
|
149
|
+
with open(filename, "r+", encoding="utf-8", errors="ignore") as f:
|
150
|
+
|
151
|
+
reader = csv.DictReader(f, delimiter=',')
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
texts = [dict(text=c["text"], result=parser(c["text"]) ) for c in reader]
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
output = 'output.csv'
|
160
|
+
|
161
|
+
with open(output, 'w') as wf:
|
162
|
+
|
163
|
+
fieldnames = ['text', 'result']
|
164
|
+
|
165
|
+
writer = csv.DictWriter(wf, fieldnames=fieldnames)
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
writer.writeheader()
|
170
|
+
|
171
|
+
for row in texts:
|
172
|
+
|
173
|
+
writer.writerow(row)
|
174
|
+
|
175
|
+
```
|
1
csvファイルの例を追加
test
CHANGED
@@ -1,4 +1,28 @@
|
|
1
1
|
こんな感じじゃないですかね。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
入力ファイル
|
6
|
+
|
7
|
+
```csv
|
8
|
+
|
9
|
+
text
|
10
|
+
|
11
|
+
私はここにいる
|
12
|
+
|
13
|
+
```
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
出力ファイル
|
18
|
+
|
19
|
+
```csv
|
20
|
+
|
21
|
+
text,result
|
22
|
+
|
23
|
+
私はここにいる,私|は|ここ|に|いる
|
24
|
+
|
25
|
+
```
|
2
26
|
|
3
27
|
|
4
28
|
|