parsel.py:
#-*- coding: utf-8 -*-
from django.db import models
from db.models import Student
import operator
import datetime
import xlrd
import sys
def get_parse(students):
rb = xlrd.open_workbook('students.xls', formatting_info=True)
sheet = rb.sheet_by_index(0)
data = [] # Переменная для последующей записивсех данных в "кучу"
for rownum in range(sheet.nrows):
row = sheet.row_values(rownum)
# row[0] - Первая колонка - здесь фамилия
# row[1] - Имя
# row[...] - ...
last_name = row[0]
first_name = row[1]
middle_name = row[2]
group = row[3]
tel = row[4]
tel_parents = row[5]
email = row[6]
website = row[7]
adress = row[8]
city = row[9]
state = row[10]
# Проверяем, если first_name - "Фамилия"" - значит это заголовок таблицы, эти данные не записываем.
# Можно еще первую итерацию просто отсеять.
if last_name == u'Прізвище':
continue # Пропускаем иттерацию цикла - переходим сразу к следующей
# Записываем данные словарем в переменную для удобств
data.append({
'last_name': last_name,
'first_name': first_name,
'middle_name': middle_name,
'group': group,
'tel': tel,
'tel_parents': tel_parents,
'email': email,
'website': website,
'adress': adress,
'city': city,
'state': state,
})
return data
# Теперь где угодно и куда угодно можем вставить\вывести полученные данные в удобном виде
#Сохранение в БД, проинтегрированое.
for data in get_parse('students.xls'):
put_in_db = Student(first_name= data['first_name'], last_name= data['last_name'], middle_name= data['middle_name'], group= data['group'], tel= int(data['tel']), tel_parents= data['tel_parents'], email= data['email'], website= data['website'], adress= data['adress'], city= data['city'], state= data['state'])
put_in_db.save()
#Вывод результата, для наглядности
print Student.objects.all()