質問編集履歴

2

ソースの修正

2018/04/18 03:01

投稿

isshi
isshi

スコア11

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ■ソースコード
9
+
10
10
 
11
11
  #models.py
12
12
 
@@ -36,18 +36,32 @@
36
36
 
37
37
  from app1.models import Book
38
38
 
39
+ from .forms import CSVUploadForm
40
+
39
41
  import pandas as pd
40
42
 
41
43
 
42
44
 
43
- #Bookモデルに準じたcsvファイルをdfとして読み込む
45
+ class BookImport(generic.FormView):
44
46
 
45
- df = pd.read_csv("c:\temp\sample.csv")
47
+ template_name = 'app/import.html'
46
48
 
47
- #dfに列csvFlag を追加し固有値1をセットする
49
+ success_url = reverse_lazy('app1:index')
48
50
 
49
- df.assign(csvFlag = 1)
51
+ form_class = CSVUploadForm
50
52
 
51
- #Bookモデルにdfデータを一括登録する
53
+
52
54
 
55
+ def form_valid(self, form):
56
+
57
+ '''Bookモデルに準じたcsvファイルをdfとして読み込む'''
58
+
59
+ df = pd.read_csv("sample.csv")
60
+
61
+ '''dfに列csvFlag を追加し固有値1をセットする'''
62
+
63
+ df.assign(csvFlag = 1)
64
+
65
+ '''Bookモデルにdfデータを一括登録する'''
66
+
53
- ??????
67
+ ??????

1

説明やソースを追加

2018/04/18 03:01

投稿

isshi
isshi

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1 +1,53 @@
1
+ ■前提・実現したいこと
2
+
3
+ Django&pandas初心者です。
4
+
1
5
  pandasのDataFrameにCSVを読み込ませた後、加工し、Djandoの特定モデルに一括登録(更新)したいと思っています。この場合どのように行えばよいかご教授下さい。
6
+
7
+
8
+
9
+ ■ソースコード
10
+
11
+ #models.py
12
+
13
+ from django.db import models
14
+
15
+ class Book(models.Model):
16
+
17
+ name = models.CharField('書籍名',primary_key = True max_length=255)
18
+
19
+ publisher = models.CharField('出版社', max_length=255, blank=True)
20
+
21
+ page = models.IntegerField('ページ数', blank=True, default=0)
22
+
23
+ price = models.IntegerField('価格', blank=True, default=0)
24
+
25
+ csvFlag= models.CharField('csvフラグ', max_length=255, blank=True)
26
+
27
+
28
+
29
+   def __str__(self):
30
+
31
+ return self.name
32
+
33
+
34
+
35
+ #views.py
36
+
37
+ from app1.models import Book
38
+
39
+ import pandas as pd
40
+
41
+
42
+
43
+ #Bookモデルに準じたcsvファイルをdfとして読み込む
44
+
45
+ df = pd.read_csv("c:\temp\sample.csv")
46
+
47
+ #dfに列csvFlag を追加し固有値1をセットする
48
+
49
+ df.assign(csvFlag = 1)
50
+
51
+ #Bookモデルにdfデータを一括登録する
52
+
53
+ ??????