質問編集履歴
8
解決方法に関して追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -373,3 +373,19 @@
|
|
373
373
|
views.pyのpost, _ = Post.objects.get_or_create(pk=line[0])の箇所を修正することで、
|
374
374
|
|
375
375
|
上記のエラーは解消できるでしょうか。
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
__________________________________________________________
|
380
|
+
|
381
|
+
【追記②】
|
382
|
+
|
383
|
+
kacchan822様にご回答いただいたとおりにviewとmodelを修正し、
|
384
|
+
|
385
|
+
can110様にご指摘いただいたとおりにファイルの文字コードを「utf-8」へと変更した所、
|
386
|
+
|
387
|
+
無事にファイルをインポートすることができるようになりました!
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
コメント欄、回答欄にて適切なご指摘を下さり誠にありがとうございました。
|
7
views\.pyの修正を行ったので追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -293,3 +293,83 @@
|
|
293
293
|
pythonもdjangoも初心者のため、不足している情報等ありましたら申し訳ございません。
|
294
294
|
|
295
295
|
どうぞ宜しくお願い致します。
|
296
|
+
|
297
|
+
__________________________________________________________
|
298
|
+
|
299
|
+
【追記】
|
300
|
+
|
301
|
+
回答欄にてご指摘いただき、以下の修正を行いました。
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
①views.pyの関数の文字コードをutf_8_sigに指定
|
306
|
+
|
307
|
+
```python
|
308
|
+
|
309
|
+
def csv_import(request):
|
310
|
+
|
311
|
+
form_data = TextIOWrapper(
|
312
|
+
|
313
|
+
#文字コードをutf_8_sigに指定
|
314
|
+
|
315
|
+
request.FILES['csv'].file, encoding='utf_8_sig')
|
316
|
+
|
317
|
+
if form_data:
|
318
|
+
|
319
|
+
csv_file = csv.reader(form_data)
|
320
|
+
|
321
|
+
for line in csv_file:
|
322
|
+
|
323
|
+
post, _ = Post.objects.get_or_create(pk=line[0])
|
324
|
+
|
325
|
+
post.title = line[1]
|
326
|
+
|
327
|
+
post.text = line[2]
|
328
|
+
|
329
|
+
category, _ = Category.objects.get_or_create(name=line[3])
|
330
|
+
|
331
|
+
post.category = category
|
332
|
+
|
333
|
+
post.save()
|
334
|
+
|
335
|
+
```
|
336
|
+
|
337
|
+
②models.py上の不要な変更点を元に戻す
|
338
|
+
|
339
|
+
※試したこと の項目の、②の変更点を変更前(冒頭に貼ったmodels.pyのコードの状態)に戻しました
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
再度ファイルをアップロードしてみた所、
|
344
|
+
|
345
|
+
以下のエラーが発生いたしました。
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
'utf-8' codec can't decode byte 0x82 in position 27: invalid start byte
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
csvファイル冒頭の「ID」の部分に日本語の入力をしているのがおかしいのかと考え、
|
354
|
+
|
355
|
+
「ID」は数字、ほかは日本語の状態にしアップロードしましたが、エラー内容は変わりませんでした。
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
```インポートしたcsvファイル②
|
360
|
+
|
361
|
+
1 2 3 4
|
362
|
+
|
363
|
+
3 4 5 6
|
364
|
+
|
365
|
+
4 2 3 4
|
366
|
+
|
367
|
+
5 あ い う
|
368
|
+
|
369
|
+
```
|
370
|
+
|
371
|
+
models.pyにてpyという変数を定義し、
|
372
|
+
|
373
|
+
views.pyのpost, _ = Post.objects.get_or_create(pk=line[0])の箇所を修正することで、
|
374
|
+
|
375
|
+
上記のエラーは解消できるでしょうか。
|
6
csvファイルの内容を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -184,6 +184,26 @@
|
|
184
184
|
|
185
185
|
```
|
186
186
|
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
③CSVファイルの内容
|
192
|
+
|
193
|
+
```csv
|
194
|
+
|
195
|
+
1 2 3 4
|
196
|
+
|
197
|
+
3 4 5 6
|
198
|
+
|
199
|
+
4 2 3 4
|
200
|
+
|
201
|
+
あ い う え
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
```
|
206
|
+
|
187
207
|
__________________________________________________________
|
188
208
|
|
189
209
|
|
5
書式の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
【参照サイト】
|
18
18
|
|
19
|
-
https://torina.top/detail/324/
|
19
|
+
[https://torina.top/detail/324/](https://torina.top/detail/324/)
|
20
20
|
|
21
21
|
__________________________________________________________
|
22
22
|
|
@@ -54,6 +54,8 @@
|
|
54
54
|
|
55
55
|
___________________________
|
56
56
|
|
57
|
+
```python
|
58
|
+
|
57
59
|
import csv
|
58
60
|
|
59
61
|
from io import TextIOWrapper, StringIO
|
@@ -130,12 +132,16 @@
|
|
130
132
|
|
131
133
|
return response
|
132
134
|
|
135
|
+
```
|
136
|
+
|
133
137
|
__________________________________________________________
|
134
138
|
|
135
139
|
|
136
140
|
|
137
141
|
②models.py
|
138
142
|
|
143
|
+
```python
|
144
|
+
|
139
145
|
from datetime import datetime
|
140
146
|
|
141
147
|
from django.db import models
|
@@ -176,6 +182,8 @@
|
|
176
182
|
|
177
183
|
return self.title
|
178
184
|
|
185
|
+
```
|
186
|
+
|
179
187
|
__________________________________________________________
|
180
188
|
|
181
189
|
|
@@ -188,7 +196,7 @@
|
|
188
196
|
|
189
197
|
【参考にしたサイト】
|
190
198
|
|
191
|
-
http://qiita.com/niwaringo/items/d2a30e04e08da8eaa643
|
199
|
+
[http://qiita.com/niwaringo/items/d2a30e04e08da8eaa643](http://qiita.com/niwaringo/items/d2a30e04e08da8eaa643)
|
192
200
|
|
193
201
|
|
194
202
|
|
@@ -208,9 +216,9 @@
|
|
208
216
|
|
209
217
|
【参考にしたサイト】
|
210
218
|
|
211
|
-
http://docs.djangoproject.jp/en/latest/ref/unicode.html
|
219
|
+
[http://docs.djangoproject.jp/en/latest/ref/unicode.html](http://docs.djangoproject.jp/en/latest/ref/unicode.html)
|
212
|
-
|
220
|
+
|
213
|
-
http://www.metareal.org/2008/04/11/django-unicode-encode-error/
|
221
|
+
[http://www.metareal.org/2008/04/11/django-unicode-encode-error/](http://www.metareal.org/2008/04/11/django-unicode-encode-error/)
|
214
222
|
|
215
223
|
|
216
224
|
|
4
初心者アイコンを追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
3
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
実現したいこと:djangoにて、日本語で記入されたcsvをインポートできるようにしたい
|
6
|
+
|
5
7
|
使用言語:python3.6
|
6
8
|
|
7
9
|
フレームワーク:「Django1.11」
|
@@ -20,7 +22,9 @@
|
|
20
22
|
|
21
23
|
|
22
24
|
|
25
|
+
日本語にて記載されたcsvをインポートできるようにしたいのですが、
|
26
|
+
|
23
|
-
csvに「あいうえお」と入力しインポートした所、以下のエラーが発生しました。
|
27
|
+
試しにcsvに「あいうえお」と入力しインポートした所、以下のエラーが発生してしまいました。
|
24
28
|
|
25
29
|
|
26
30
|
|
@@ -30,12 +34,22 @@
|
|
30
34
|
|
31
35
|
|
32
36
|
|
37
|
+
こちらのバグを修正し、日本語のcsvをインポートできるようにするためには、
|
38
|
+
|
39
|
+
どこを修正したら良いでしょうか。
|
40
|
+
|
41
|
+
|
42
|
+
|
33
43
|
###該当のソースコード
|
34
44
|
|
35
45
|
__________________________________________________________
|
36
46
|
|
37
47
|
|
38
48
|
|
49
|
+
以下に、views.pyとmodels.pyのソースコードを記載いたします。
|
50
|
+
|
51
|
+
|
52
|
+
|
39
53
|
①views.py
|
40
54
|
|
41
55
|
___________________________
|
2
誤字を修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
|
4
4
|
|
5
5
|
使用言語:python3.6
|
6
6
|
|
1
使用しているDjangoのバージョンが「1,」と表示されてしまっていたので修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
使用言語:python3.6
|
6
6
|
|
7
|
-
フレームワーク:Django1.11
|
7
|
+
フレームワーク:「Django1.11」
|
8
8
|
|
9
9
|
|
10
10
|
|