Commit 62bb5b88 authored by rico.liu's avatar rico.liu

remove

parent fa056178
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 25 11:07:18 2020
@author: rico
"""
import requests
def zgc_api(func,data):
headers = {
'Connection': 'Keep-Alive'
}
key = 'eRo1#ZFHY5N&GEzV'
api = f"http://59.110.219.171:8000/{func}/"
print(api)
data.update({'key':key})
session = requests.session()
result = session.post(api,json=data,headers=headers,timeout=600).json()
return result
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 7 23:08:30 2020
@author: rico
"""
import pymssql
class MSSQL:
def __init__(self,host,db):
self.host = host
self.db = db
self._conn = self.GetConnect()
if(self._conn):
self._cur = self._conn.cursor()
#连接数据库
def GetConnect(self):
conn = False
if self.host == '123.57.45.119':
user = 'zgcprice'
pwd = 'zgcprice20200708'
elif self.host == '123.56.115.207':
user = 'zgcindex'
pwd = 'jiayou202006'
elif self.host == '10.0.120.131':
user = 'sa'
pwd = '1qaz@WSX'
elif self.host == '10.0.120.79':
user = 'sa'
pwd = '1qaz@WSX'
try:
conn = pymssql.connect(
host=self.host,
user=user,
password=pwd,
database =self.db,
autocommit=True
)
except Exception as err:
print("连接数据库失败, %s" % err)
else:
return conn
#获取连接信息
def GetConnectInfo(self):
print( "连接信息:" )
print( "服务器:%s , 用户名:%s , 数据库:%s " % (self.host,self.user,self.db))
def Close(self):
self._cur.close()
self._conn.close()
'''
ms = MSSQL('123.56.115.207','zdindex')
conn = ms._conn
cursor = ms._cur
cursor.execute(f"select top 10 * from zd_week_price")
cursor.fetchall()
ms.Close()
cursor.close()
conn.close()
'''
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 13 11:42:04 2020
@author: rico
"""
import hashlib
from API import zgc_api
from db import MSSQL
import pandas as pd
from public_function import *
'''
#加载数据
def LoadData():
#创建数据库链接
mssql = MSSQL('123.57.45.119','ZI_Service')
cursor_zi_service = mssql._cur
cursor_zi_service.execute("select * from product_all where sku is Null")
df = pd.DataFrame(cursor_zi_service.fetchall(), columns=[tuple[0] for tuple in cursor_zi_service.description])
mssql.Close()
return df
'''
def hash_name(name):
m = hashlib.md5(name.encode("utf8"))
hasn_name = m.hexdigest()
return hasn_name
def get_pre_deal():
#创建数据库链接
mssql = MSSQL('123.57.45.119','ZI_Service')
cursor_zi_service = mssql._cur
cursor_zi_service.execute("select * from product_all where sku is Null")
df = pd.DataFrame(cursor_zi_service.fetchall(), columns=[tuple[0] for tuple in cursor_zi_service.description])
#创建数据库链接
mssql_new = MSSQL('123.56.115.207','ZI_NEW')
cursor_zi_new = mssql_new._cur
cursor_zi_new.execute("select * from p_brand where id not in (select pid from p_brand)")
brand_df = pd.DataFrame(cursor_zi_new.fetchall(), columns=[tuple[0] for tuple in cursor_zi_new.description]).fillna('无品牌信息')
cursor_zi_new.execute("select * from p_category where id not in (select pid from p_category)")
category_df = pd.DataFrame(cursor_zi_new.fetchall(), columns=[tuple[0] for tuple in cursor_zi_new.description])
#hash产品名称至SKU
df['sku'] = df['name'].apply(lambda x: hash_name(x))
name_list = df['name'].tolist()
#获取预测类别结果
data = {
"category_info": {
"cust_name_list": name_list,
"url_name_list":name_list
}
}
res = zgc_api("GetPredictCategory",data)
df['predict_cat'] = res['category_list']
df['predict_cat_code'] = res['categoryCode_list']
#实例化进度条
index_ = Index()
counter = 1
for index,row in df.iterrows():
id_ = row['id']
sku = row['sku']
name = row['name'].strip().upper()
print(index_(counter, len(df)-1), end='%')
counter += 1
pre_cat = row['predict_cat']
pre_cat_code = row['predict_cat_code']
zi_brandname = '未抽取到数据'
zi_brandcode = '未抽取到数据'
zi_categoryname = '未抽取到数据'
zi_categorycode = '未抽取到数据'
#抽取品牌
search_name = name.split(' ')[0]
for index_b,row_brand in brand_df.iterrows():
brandcode = row_brand['id']
brandname = row_brand['name']
cname = row_brand['cname']
ename = row_brand['ename'].upper()
if len(cname) == 1 or len(ename) == 1:
continue
if len(re.findall(r"[\u4e00-\u9fa5]", search_name)) == 0:
if ename in search_name:
zi_brandname = brandname
zi_brandcode = brandcode
break
else:
if cname in search_name:
zi_brandname = brandname
zi_brandcode = brandcode
break
#抽取类别
for index_c,row_cat in category_df.iterrows():
categorycode = row_cat['id']
categoryname = row_cat['name']
categoryname_list = row_cat['name'].split('/')
for category in categoryname_list:
if category in name:
zi_categoryname = categoryname
zi_categorycode = categorycode
break
if zi_categoryname == '未抽取到数据':
zi_categoryname = pre_cat
zi_categorycode = pre_cat_code
cursor_zi_service.execute(f"update product_all set zi_brandname = '{zi_brandname}',zi_brandcode = {zi_brandcode},\
zi_subcategoryname = '{zi_categoryname}',zi_subcategorycode = {zi_categorycode}, \
predict_category = '{pre_cat}',predict_category_code = {pre_cat_code},sku = '{sku}' where id = {id_}")
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 18 11:11:31 2020
@author: rico
"""
from db import MSSQL
from API import zgc_api
import math
import pandas as pd
import numpy as np
from public_function import *
df = pd.read_excel("/Users/rico/project/中信银行/5000条/中信5000测试数据.xlsx",converters = {'供应商SKU':str})
supplier_list = df['供应商名称'].unique().tolist()
engine = 'SQL'
df_list = []
for supplier in supplier_list:
sup_df = df[df['供应商名称'] == supplier]
sku_list = sup_df['供应商SKU'].tolist()
#获取SKU匹配结果
data = {
"params_info": {
"channelAlias": f"{supplier}",
"cust_sku_list": sku_list,
"engine":f"{engine}"
}
}
res = zgc_api("GetSKUMatchResInfo",data)
if res['code'] == 0:
res_list = [False for i in range(len(sup_df))]
else:
res_list = [res['res_dict'][sku] for sku in sku_list]
sup_df['productcode'] = res_list
df_list.append(sup_df)
result_df = pd.concat(df_list)
result_df.to_excel("中信银行5000条.xlsx")
\ No newline at end of file
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 16 14:27:52 2020
@author: rico
"""
import pandas as pd
from API import zgc_api
import pymssql
from public_function import *
df = pd.read_excel("/Users/rico/Downloads/京东重复链接(修正后链接).xls",sheet_name = "保留",converters = {'productcode':str})
sku_list = df['productcode'].tolist()
source_name_list = df['productname'].tolist()
price_list = df['参考价'].tolist()
url_list = df['goods_url'].tolist()
channelId_list = ['DS-JD' for i in range(len(df))]
#价格关系入库
data = {
"params_info": {
"sku_list": sku_list,
"url_name_list": source_name_list,
"url_price_list":price_list,
"url_list": url_list,
"channelId_list": channelId_list
}
}
res = zgc_api("Stock-InPriceInfo",data)
conn = pymssql.connect(host='123.56.115.207', user='zgcprice3311',password='zgcprice20200628',database= 'zdindex',autocommit=True)
cursor = conn.cursor()
cursor.execute(f"select id,goods_id from zd_electricity_price where mall_id ='DS-JD' and (periods = '20200917' or periods = '20200921') and goods_url is Null")
data = cursor.fetchall()
df = pd.DataFrame(data, columns=[tuple[0] for tuple in cursor.description])
index_ = Index()
counter = 1
for index,row in df.iterrows():
print(index_(counter, len(df)-1), end='%')
counter += 1
id_ = row['id']
code = row['goods_id']
cursor.execute(f"select goods_url from zd_electricity_price where goods_id = '{code}' and periods = '20200914' and mall_id = 'DS-JD'")
try:
url = cursor.fetchone()[0]
except:
continue
cursor.execute(f"update zd_electricity_price set goods_url = '{url}' where id = {id_}")
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 14 10:11:38 2020
@author: rico
"""
import pymssql
import pandas as pd
from API import zgc_api
df = pd.read_excel("/Users/rico/project/路桥项目/JD数据/反馈-JD未匹配数据处理基本信息确认0909.xlsx",sheet_name = '建库')
conn_zi_lq = pymssql.connect(host='123.57.45.119', user='zgcprice', password='zgcprice20200708',database= f"SXLQ_JD",autocommit=True)
cursor_zi_lq = conn_zi_lq.cursor()
#新建品牌
newbrand_df = df[df['zi_brandcode'] == "空"][['id','zi_brandname']]
newbrand_list = newbrand_df['zi_brandname'].apply(lambda x : x.replace("新建品牌:","").strip()).unique().tolist()
data = {
"params_info": {
"brand_list": newbrand_list
}
}
res = zgc_api("Stock-InbrandInfo",data)
brand_dict = res['res_dict']
#更新product_all表
for index,row in newbrand_df.iterrows():
_id = row['id']
zi_brand_dict = brand_dict[row['zi_brandname'].replace("新建品牌:","").strip()]
zi_brand = [key for key in zi_brand_dict][0]
zi_brandcode = zi_brand_dict[zi_brand]
cursor_zi_lq.execute(f"update product_all set zi_brandname = '{zi_brand}',zi_brandcode = {zi_brandcode} where id = {_id}")
#入库
id_list = df['id'].tolist()
cust_sku_list = df['sku'].tolist()
channelAlias_list = df['channel_alias'].apply(lambda x:x.replace("SXLQ_","")).tolist()
source_name_list = df['name'].tolist()
price_list = df['price'].apply(lambda x:str(x)).tolist()
url_list = df['url'].tolist()
channelId_list = ["DS-JD" for i in range(len(df))]
brand_list = df['zi_brandname'].tolist()
brandId_list = df['zi_brandcode'].apply(lambda x:str(x)).tolist()
category_list = df['zi_subcategoryname'].tolist()
categoryId_list = df['zi_subcategorycode'].apply(lambda x:str(x)).tolist()
params_list = df['params'].apply(lambda x: eval(x)).tolist()
name_list = df['productname'].apply(lambda x: x.replace("'","''")).tolist()
'''
for params,category in zip(params_list,category_list):
cust_paramsAttr_list = [key for key in params]
data = {
"params_info": {
"category": category,
"cust_paramsAttr_list": cust_paramsAttr_list
}
}
res = zgc_api("GetZGCParamsInfo",data)
res['paramsAttr_dict']
'''
data = {
"params_info": {
"brand_list": brand_list,
"brandId_list": brandId_list,
"category_list": category_list,
"categoryId_list": categoryId_list,
"params_list": params_list,
"name_list": name_list
}
}
res = zgc_api("Stock-InProductInfo",data)
sku_list = res['sku_list']
#更新product_all表
for _id,sku in zip(id_list,sku_list):
cursor_zi_lq.execute(f"update product_all set productcode = '{sku}',remark = Null,state = '9' where id = {_id}")
#价格关系入库
data = {
"params_info": {
"sku_list": sku_list,
"url_name_list": source_name_list,
"url_price_list":price_list,
"url_list": url_list,
"channelId_list": channelId_list
}
}
res = zgc_api("Stock-InPriceInfo",data)
#对应关系入库
data = {
"params_info": {
"cust_sku_list": cust_sku_list,
"sku_list": sku_list,
"channelAlias_list": channelAlias_list
}
}
res = zgc_api("Stock-InSkuRelationshipInfo",data)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 25 11:07:18 2020
@author: rico
"""
import requests
def zgc_api(func,data):
headers = {
'Connection': 'Keep-Alive'
}
key = 'eRo1#ZFHY5N&GEzV'
api = f"http://59.110.219.171:8000/{func}/"
print(api)
data.update({'key':key})
session = requests.session()
result = session.post(api,json=data,headers=headers,timeout=600).json()
return result
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 7 23:08:30 2020
@author: rico
"""
import pymssql
class MSSQL:
def __init__(self,host,db):
self.host = host
self.db = db
self._conn = self.GetConnect()
if(self._conn):
self._cur = self._conn.cursor()
#连接数据库
def GetConnect(self):
conn = False
if self.host == '123.57.45.119':
user = 'zgcprice'
pwd = 'zgcprice20200708'
elif self.host == '123.56.115.207':
user = 'zgcindex'
pwd = 'jiayou202006'
elif self.host == '10.0.120.131':
user = 'sa'
pwd = '1qaz@WSX'
elif self.host == '10.0.120.79':
user = 'sa'
pwd = '1qaz@WSX'
try:
conn = pymssql.connect(
host=self.host,
user=user,
password=pwd,
database =self.db,
autocommit=True
)
except Exception as err:
print("连接数据库失败, %s" % err)
else:
return conn
#获取连接信息
def GetConnectInfo(self):
print( "连接信息:" )
print( "服务器:%s , 用户名:%s , 数据库:%s " % (self.host,self.user,self.db))
def Close(self):
self._cur.close()
self._conn.close()
'''
ms = MSSQL('123.56.115.207','zdindex')
conn = ms._conn
cursor = ms._cur
cursor.execute(f"select top 10 * from zd_week_price")
cursor.fetchall()
ms.Close()
cursor.close()
conn.close()
'''
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 18 11:11:31 2020
@author: rico
"""
from db import MSSQL
from API import zgc_api
import math
import pandas as pd
import numpy as np
from public_function import *
df = pd.read_excel("/Users/rico/project/中信银行/5000条/中信5000测试数据.xlsx",converters = {'供应商SKU':str})
supplier_list = df['供应商名称'].unique().tolist()
engine = 'SQL'
df_list = []
for supplier in supplier_list:
sup_df = df[df['供应商名称'] == supplier]
sku_list = sup_df['供应商SKU'].tolist()
#获取SKU匹配结果
data = {
"params_info": {
"channelAlias": f"{supplier}",
"cust_sku_list": sku_list,
"engine":f"{engine}"
}
}
res = zgc_api("GetSKUMatchResInfo",data)
if res['code'] == 0:
res_list = [False for i in range(len(sup_df))]
else:
res_list = [res['res_dict'][sku] for sku in sku_list]
sup_df['productcode'] = res_list
df_list.append(sup_df)
result_df = pd.concat(df_list)
result_df.to_excel("中信银行5000条.xlsx")
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment