-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathinsert_data.py
More file actions
84 lines (73 loc) ยท 3.3 KB
/
insert_data.py
File metadata and controls
84 lines (73 loc) ยท 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "remu.settings")
import django
django.setup()
from director.models import *
from mv.models import *
import csv
import datetime
import re
file_name = 'data'
# wr.writerow(['๊ฐ๋
์ด๋ฆ', '๊ฐ๋
์ด๋ฏธ์ง ์ฃผ์', '๊ฐ๋
SNS ๋งํฌ', 'ํ๋ก๋์
์ด๋ฆ', 'ํ๋ก๋์
์ด๋ฏธ์ง ์ฃผ์', '๋ฎค๋น ์ ๋ชฉ', '๋ฎค๋น ์ฃผ์',
# '์ํฐ์คํธ', '๋ฎค๋น ์
๋ก๋ ๋ ์ง'])
#๋ฐ์ดํฐ ํ์ผ ์ด๊ธฐ
with open(f'{file_name}.csv', encoding='UTF-8') as csvDataFile:
csvReader = csv.reader(csvDataFile)
data=list(csv.reader(csvDataFile))
# DB์ ํ๋ก๋์
์ ์ฅ
for i in range(1, len(data)):
# ํ๋ก๋์
์ด ์๋์ง ์ฒดํฌ
if(len(data[i][3])):
production, created = Production.objects.get_or_create(
name = data[i][3],
image_url = data[i][4]
)
if(len(data[i][0]) is 0):
production.sns_link = data[i][2]
production.save()
# DB์ ๊ฐ๋
์ ์ฅ
for i in range(1, len(data)):
# ๊ฐ๋
์ด ์๋์ง ์ฒดํฌ
if(len(data[i][0])):
# ์ผ๋จ ํ๋ก๋์
์ ์ ์ธํ๊ณ ๊ฐ๋
์ ์ฅ
director, created = Director.objects.get_or_create(
name = data[i][0],
sns_link = data[i][2],
image_url = data[i][1]
)
# ํ๋ก๋์
์ด ์๊ณ ๊ฐ๋
๊ฐ์ฒด์ ํ๋ก๋์
์ด ๋น์ด์๋ ๊ฒฝ์ฐ
if(len(data[i][3]) and director.production is None):
# ์ธ๋ํค ๋ฌผ๋ ค์ฃผ๊ธฐ ์ํด์ ๋ฐ์ดํฐ ์กฐํํด์ ํด๋น ํ๋ก๋์
๊ฐ์ ธ์ค๊ธฐ
pre_production = Production.objects.get(name = data[i][3], image_url = data[i][4])
director.production = pre_production
director.save()
#์ผ์ผ์ผ์ผ์ผ์ผ csvํ์ผ ๋๋ฌด ์ง์ ๋ถํด์ญ!!!
upload_date_pattern = re.compile('\d{4,}-\d{1,2}-\d{1,2}')
# DB์ ๋ฎค๋น ์ ์ฅ
for i in range(1, len(data)):
# ๋ฎค๋น ์ ๋ชฉ์ด ์๋์ง ์ฒดํฌ
if(len(data[i][5])):
# ์ผ๋จ ๊ฐ๋
, ํ๋ก๋์
์๊ฐํ์ง ์๊ณ ๋ฎค๋น ์ ์ฅํ๊ธฐ
music_video, created = MusicVideo.objects.get_or_create(
title = data[i][5],
video_link = data[i][6],
artist = data[i][7]
)
upload_date = data[i][8]
# upload_date๊ฐ ๋ง์ฝ์
๋๋ค ์ฌ๋ฌ๋ถ~ ๋ ์๊ธฐํด๋ด์! ํธํธ!
if(upload_date_pattern.match(data[i][8]) is not None and upload_date[len(upload_date)-1] is not '-'):
music_video.upload_date = datetime.datetime.strptime(data[i][8], '%Y-%m-%d')
music_video.save()
#๊ฐ๋
์ด ์๊ณ ํ๋ก๋์
๋ง ์๋๋ฐ ํ๋ก๋์
์ด ์์ง ์ ์ฅ ์๋์๋
if(len(data[i][0]) == 0 and music_video.production is None):
try:
pre_production = Production.objects.get(name = data[i][3], image_url = data[i][4])
except:
continue
music_video.production = pre_production
music_video.save()
#๊ฐ๋
์ด ์๋๋ฐ ์์ง ์ ์ฅ ์๋์๋
elif(len(data[i][0]) and music_video.director is None):
pre_director = Director.objects.get(name = data[i][0], sns_link = data[i][2], image_url = data[i][1])
music_video.director = pre_director
music_video.save()