def parsexlsdata(file): from aplikace.models import Product from openpyxl import load_workbook import os wb = load_workbook(file) ws = wb.active i=0 for row in ws.iter_rows(): i=i+1 if i > 4: #print row rowcvs="" #i= #for cell in row: data=Product.find_by_Obj(row[1].value) if not data : if row[4].value == 'na dotaz': u=Product(UID=row[0].value,Obj=row[1].value,Popis=row[2].value,Skupina=row[3].value,CenaProdej=0,MJ=row[5].value) else: u=Product(UID=row[0].value,Obj=row[1].value,Popis=row[2].value,Skupina=row[3].value,CenaProdej=row[4].value,MJ=row[5].value) db.session.add(u) else: data.UID=row[0].value data.Obj=row[1].value data.Popis=row[2].value data.Skupina=row[3].value if row[4].value == 'na dotaz': data.CenaProdej=0 else: data.CenaProdej=row[4].value data.MJ=row[5].value data.update(commit=False) os.remove(file) db.session.commit()
def data_web_update(): from webb import webb from aplikace.models import Product # from locale import atof import re id = 0 from html_table_parser import HTMLTableParser for polozka in Product.notKL(): url = "http://www.vskprofi.cz/vyhledavani?type=sku&search=" + polozka.Obj + "&sku=OK" page = webb.download_page(url) p = HTMLTableParser() p.feed(page.decode('utf-8')) #print(p.tables) ar = p.tables try: data = Product.find_by_Obj(polozka.Obj) for i in range(6, 10): if re.search('technical-data', ar[0:1][0][1][i]): data.TL = ar[0:1][0][1][i] #print ar[0:1][0][1][i] if re.search('product-lists', ar[0:1][0][1][i]): data.KL = ar[0:1][0][1][i] #print ar[0:1][0][1][i] if re.search('pics', ar[0:1][0][1][i]): data.Foto = ar[0:1][0][1][i] #print ar[0:1][0][1][i] data.sklad = ar[0:1][0][1][3] if ar[0:1][0][1][11]: data.Poznamka = ar[0:1][0][1][11] #print data.Obj data.update(commit=False) id = id + 1 if id % 100 == 0: print "aktualizuji data" db.session.commit() # for i in ar[0:1][0][1]:db.session.commit()rint # print(i) #print(float(re.split(" ", ar[0:1][0][1][4])[0].replace(".","").replace(",","."))) except: print "Chyba" + str(id) + " " + polozka.Obj db.session.commit() #data_web_update.delay() db.session.commit() return True
def data_web_update(): from webb import webb from aplikace.models import Product # from locale import atof import re id=0 from html_table_parser import HTMLTableParser for polozka in Product.notKL(): url="http://www.vskprofi.cz/vyhledavani?type=sku&search=" + polozka.Obj + "&sku=OK" page = webb.download_page(url) p = HTMLTableParser() p.feed(page.decode('utf-8')) #print(p.tables) ar=p.tables try: data=Product.find_by_Obj(polozka.Obj) for i in range(6,10): if re.search('technical-data',ar[0:1][0][1][i]): data.TL = ar[0:1][0][1][i] #print ar[0:1][0][1][i] if re.search('product-lists',ar[0:1][0][1][i]): data.KL = ar[0:1][0][1][i] #print ar[0:1][0][1][i] if re.search('pics',ar[0:1][0][1][i]): data.Foto = ar[0:1][0][1][i] #print ar[0:1][0][1][i] data.sklad = ar[0:1][0][1][3] if ar[0:1][0][1][11]: data.Poznamka = ar[0:1][0][1][11] #print data.Obj data.update(commit=False) id=id+1 if id % 100 == 0: print "aktualizuji data" db.session.commit() # for i in ar[0:1][0][1]:db.session.commit()rint # print(i) #print(float(re.split(" ", ar[0:1][0][1][4])[0].replace(".","").replace(",","."))) except: print "Chyba" + str(id) + " " + polozka.Obj db.session.commit() #data_web_update.delay() db.session.commit() return True
def parsexlsdata(file): from aplikace.models import Product from openpyxl import load_workbook import os wb = load_workbook(file) ws = wb.active i = 0 for row in ws.iter_rows(): i = i + 1 if i > 4: #print row rowcvs = "" #i= #for cell in row: data = Product.find_by_Obj(row[1].value) if not data: if row[4].value == 'na dotaz': u = Product(UID=row[0].value, Obj=row[1].value, Popis=row[2].value, Skupina=row[3].value, CenaProdej=0, MJ=row[5].value) else: u = Product(UID=row[0].value, Obj=row[1].value, Popis=row[2].value, Skupina=row[3].value, CenaProdej=row[4].value, MJ=row[5].value) db.session.add(u) else: data.UID = row[0].value data.Obj = row[1].value data.Popis = row[2].value data.Skupina = row[3].value if row[4].value == 'na dotaz': data.CenaProdej = 0 else: data.CenaProdej = row[4].value data.MJ = row[5].value data.update(commit=False) os.remove(file) db.session.commit()