質問編集履歴

8

解決方法に関して追記

2017/09/07 09:48

投稿

komatsuna
komatsuna

スコア7

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の修正を行ったので追記

2017/09/07 09:48

投稿

komatsuna
komatsuna

スコア7

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ファイルの内容を追記

2017/09/07 09:14

投稿

komatsuna
komatsuna

スコア7

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

書式の改善

2017/09/07 08:52

投稿

komatsuna
komatsuna

スコア7

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

初心者アイコンを追加

2017/09/07 08:35

投稿

komatsuna
komatsuna

スコア7

test CHANGED
File without changes
test CHANGED
File without changes

3

誤字の修正

2017/09/07 06:46

投稿

komatsuna
komatsuna

スコア7

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

誤字を修正しました

2017/09/07 06:04

投稿

komatsuna
komatsuna

スコア7

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,」と表示されてしまっていたので修正しました

2017/09/07 06:01

投稿

komatsuna
komatsuna

スコア7

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