Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
tool-code
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ZGC_INDEX
tool-code
Commits
5adb0e1f
Commit
5adb0e1f
authored
Dec 08, 2021
by
rico.liu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add while
parent
102318a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
317 additions
and
297 deletions
+317
-297
更新库内产品数据.py
更新库内参数并重新命名/更新库内产品数据.py
+317
-297
No files found.
更新库内参数并重新命名/更新库内产品数据.py
View file @
5adb0e1f
...
@@ -75,7 +75,7 @@ def dael_name_content(skuname,brand):
...
@@ -75,7 +75,7 @@ def dael_name_content(skuname,brand):
return
res
.
strip
()
return
res
.
strip
()
def
upload_params_data
(
category
,
path
):
def
upload_params_data
(
category
,
path
,
record_code_list
):
df
=
pd
.
read_excel
(
path
,
converters
=
{
'产品编码'
:
str
})
df
=
pd
.
read_excel
(
path
,
converters
=
{
'产品编码'
:
str
})
...
@@ -133,6 +133,8 @@ def upload_params_data(category,path):
...
@@ -133,6 +133,8 @@ def upload_params_data(category,path):
process_index
=
0
process_index
=
0
index_
=
Index
()
index_
=
Index
()
#SPU、SKU命名
#SPU、SKU命名
for
index
,
row
in
df
.
iterrows
():
for
index
,
row
in
df
.
iterrows
():
try
:
try
:
...
@@ -141,345 +143,355 @@ def upload_params_data(category,path):
...
@@ -141,345 +143,355 @@ def upload_params_data(category,path):
print
(
index_
(
process_index
,
1
),
end
=
'
%
'
)
print
(
index_
(
process_index
,
1
),
end
=
'
%
'
)
process_index
+=
1
process_index
+=
1
sku
=
row
[
'产品编码'
]
brandname
=
row
[
'产品品牌'
]
try
:
cursor_zi_new
.
execute
(
f
"select id from p_brand where name = '{brandname}' and id not in (select distinct pid from p_brand)"
)
brand_code
=
cursor_zi_new
.
fetchone
()[
0
]
except
:
print
(
f
"异常品牌: {brandname},请检查产品品牌表"
)
break
cursor_zi_new
.
execute
(
f
"select pid from p_brand where id = {brand_code}"
)
father_brand_code
=
cursor_zi_new
.
fetchone
()[
0
]
cursor_zi_new
.
execute
(
f
"select id,spuid from p_sku where sku = '{sku}'"
)
try
:
try
:
skuid
,
spuid
=
cursor_zi_new
.
fetchone
()
except
:
print
(
f
"{sku}已不存在在产品库中"
)
continue
spuname
=
''
sku
=
row
[
'产品编码'
]
skuname
=
''
brandname
=
row
[
'产品品牌'
]
try
:
cursor_zi_new
.
execute
(
f
"select id from p_brand where name = '{brandname}' and id not in (select distinct pid from p_brand)"
)
brand_code
=
cursor_zi_new
.
fetchone
()[
0
]
except
:
print
(
f
"异常品牌: {brandname},请检查产品品牌表"
)
break
if
sku
in
record_code_list
:
continue
#SPU命名
cursor_zi_new
.
execute
(
f
"select pid from p_brand where id = {brand_code}"
)
if
category
==
'复印纸'
:
father_brand_code
=
cursor_zi_new
.
fetchone
()[
0
]
if
'彩色'
in
row
[
'产品系列'
]:
spu_brandname
=
brandname
else
:
if
father_brand_code
==
0
:
spu_brandname
=
brandname
else
:
try
:
cursor_zi_new
.
execute
(
f
"select name from p_brand where id = {father_brand_code}"
)
father_brand
=
cursor_zi_new
.
fetchone
()[
0
]
.
strip
()
except
:
print
(
f
"{brandname},异常品牌编码: {father_brand_code},请检查产品品牌表"
)
break
spu_brandname
=
father_brand
else
:
spu_brandname
=
brandname
cursor_zi_new
.
execute
(
f
"select id,spuid from p_sku where sku = '{sku}'"
)
name
=
str
(
spu_brandname
)
try
:
for
spu_param
in
db_params
[
db_params
[
'skuorspu'
]
==
'spu'
]
.
sort_values
(
"Expr1"
)[
'subtitle'
]
.
tolist
():
skuid
,
spuid
=
cursor_zi_new
.
fetchone
()
if
spu_param
==
'产品系列(SPU)'
:
except
:
print
(
f
"{sku}已不存在在产品库中"
)
continue
spuname
=
''
skuname
=
''
#SPU命名
if
category
==
'复印纸'
:
if
'彩色'
in
row
[
'产品系列'
]:
if
'彩色'
in
row
[
'产品系列'
]:
value
=
'彩色复印纸'
spu_brandname
=
brandname
else
:
value
=
row
[
'产品系列'
]
name
+=
" "
name
+=
str
(
value
)
elif
spu_param
==
'CPU属性'
:
name
+=
" "
cpu
=
str
(
row
[
'CPU型号'
])
if
'飞腾'
in
cpu
or
'龙芯'
in
cpu
or
'兆芯'
in
cpu
:
pass
else
:
else
:
cpu
=
cpu
.
split
(
'-'
)[
0
]
if
father_brand_code
==
0
:
name
+=
cpu
spu_brandname
=
brandname
else
:
try
:
cursor_zi_new
.
execute
(
f
"select name from p_brand where id = {father_brand_code}"
)
father_brand
=
cursor_zi_new
.
fetchone
()[
0
]
.
strip
()
except
:
print
(
f
"{brandname},异常品牌编码: {father_brand_code},请检查产品品牌表"
)
break
spu_brandname
=
father_brand
else
:
else
:
spu_brandname
=
brandname
name
=
str
(
spu_brandname
)
for
spu_param
in
db_params
[
db_params
[
'skuorspu'
]
==
'spu'
]
.
sort_values
(
"Expr1"
)[
'subtitle'
]
.
tolist
():
if
spu_param
==
'产品系列(SPU)'
:
if
'彩色'
in
row
[
'产品系列'
]:
value
=
'彩色复印纸'
else
:
value
=
row
[
'产品系列'
]
name
+=
" "
name
+=
str
(
value
)
elif
spu_param
==
'CPU属性'
:
name
+=
" "
cpu
=
str
(
row
[
'CPU型号'
])
if
'飞腾'
in
cpu
or
'龙芯'
in
cpu
or
'兆芯'
in
cpu
:
pass
else
:
cpu
=
cpu
.
split
(
'-'
)[
0
]
name
+=
cpu
else
:
name
+=
" "
name
+=
str
(
row
[
spu_param
])
name
+=
" "
name
=
name
+
" "
+
str
(
category
)
#spu名称
name
+=
str
(
row
[
spu_param
])
spu
=
str
(
uuid
.
uuid1
())
.
replace
(
'-'
,
''
)
#spu编码
name
=
name
+
" "
+
str
(
category
)
#spu名称
cursor_zi_new
.
execute
(
f
"select id from p_spu where categoryid = {categoryid} and brandid = {brand_code} and spuname = '{name}'"
)
spu
=
str
(
uuid
.
uuid1
())
.
replace
(
'-'
,
''
)
#spu编码
data
=
cursor_zi_new
.
fetchall
()
spu_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
cursor_zi_new
.
execute
(
f
"select id from p_spu where categoryid = {categoryid} and brandid = {brand_code} and spuname = '{name}'"
)
if
spu_df
.
empty
:
data
=
cursor_zi_new
.
fetchall
()
cursor_zi_new
.
execute
(
f
"insert into p_spu (spuname,spu,categoryid,brandid) values ('{name}','{spu}',{categoryid},{brand_code})"
)
spu_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
cursor_zi_new
.
execute
(
f
"select id from p_spu where spuname = '{name}'"
)
if
spu_df
.
empty
:
spuid
=
cursor_zi_new
.
fetchone
()[
0
]
cursor_zi_new
.
execute
(
f
"insert into p_spu (spuname,spu,categoryid,brandid) values ('{name}','{spu}',{categoryid},{brand_code})"
)
else
:
cursor_zi_new
.
execute
(
f
"select id from p_spu where spuname = '{name}'"
)
spuid
=
spu_df
[
'id'
]
.
tolist
()[
0
]
spuid
=
cursor_zi_new
.
fetchone
()[
0
]
else
:
spuid
=
spu_df
[
'id'
]
.
tolist
()[
0
]
cursor_zi_new
.
execute
(
f
"update p_sku set spuid = '{spuid}' where id = '{skuid}'"
)
params
=
dict
(
zip
(
subtitle_list
,[
row
[
subtitle
]
for
subtitle
in
subtitle_list
]))
'''
#增加硬盘容量
if '机械硬盘容量' in subtitle_list:
jx_harddisk = str(row['机械硬盘容量'])
gt_harddisk = str(row['固态硬盘容量'])
if jx_harddisk == '0' and gt_harddisk != '0':
cursor_zi_new
.
execute
(
f
"update p_sku set spuid = '{spuid}' where id = '{skuid}'"
)
harddisk_value = gt_harddisk
elif jx_harddisk != '0' and gt_harddisk == '0':
harddisk_value = jx_harddisk
elif jx_harddisk != '0' and gt_harddisk != '0':
harddisk_value = jx_harddisk+"+"+gt_harddisk
params.update({'硬盘容量':harddisk_value})
'''
#SKU命名
for
element
in
named_rule
.
split
(
" "
):
if
element
==
'品牌名称'
:
params
=
dict
(
zip
(
subtitle_list
,[
row
[
subtitle
]
for
subtitle
in
subtitle_list
]))
#复印纸品牌获取(彩色系列取子品牌,白色系列有父品牌取父品牌,否则取子品牌)
'''
if
category
==
'复印纸'
:
#增加硬盘容量
if
'彩色'
in
row
[
'产品系列'
]:
if '机械硬盘容量' in subtitle_list:
value
=
brandname
jx_harddisk = str(row['机械硬盘容量'])
else
:
gt_harddisk = str(row['固态硬盘容量'])
if
father_brand_code
==
0
:
if jx_harddisk == '0' and gt_harddisk != '0':
harddisk_value = gt_harddisk
elif jx_harddisk != '0' and gt_harddisk == '0':
harddisk_value = jx_harddisk
elif jx_harddisk != '0' and gt_harddisk != '0':
harddisk_value = jx_harddisk+"+"+gt_harddisk
params.update({'硬盘容量':harddisk_value})
'''
#SKU命名
for
element
in
named_rule
.
split
(
" "
):
if
element
==
'品牌名称'
:
#复印纸品牌获取(彩色系列取子品牌,白色系列有父品牌取父品牌,否则取子品牌)
if
category
==
'复印纸'
:
if
'彩色'
in
row
[
'产品系列'
]:
value
=
brandname
value
=
brandname
else
:
else
:
cursor_zi_new
.
execute
(
f
"select name from p_brand where id = {father_brand_code}"
)
if
father_brand_code
==
0
:
father_brand
=
cursor_zi_new
.
fetchone
()[
0
]
.
strip
()
value
=
brandname
value
=
father_brand
else
:
value
=
value
.
replace
(
"FATHER"
,
""
)
cursor_zi_new
.
execute
(
f
"select name from p_brand where id = {father_brand_code}"
)
else
:
father_brand
=
cursor_zi_new
.
fetchone
()[
0
]
.
strip
()
value
=
father_brand
value
=
value
.
replace
(
"FATHER"
,
""
)
else
:
value
=
brandname
value
=
brandname
elif
element
==
'类别名称'
:
value
=
category
elif
element
[
0
]
==
"("
and
"/"
in
element
:
element
=
element
.
replace
(
"("
,
""
)
.
replace
(
")"
,
""
)
detail_element_list
=
element
.
split
(
"/"
)
for
i
in
range
(
len
(
detail_element_list
)):
#value = cat_sku_df[(cat_sku_df['sku'] == sku) & (cat_sku_df['name'] == detail_element_list[i])]['value'].tolist()[0]
value
=
str
(
params
[
detail_element_list
[
i
]])
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
detail_element_list
[
i
],
value
.
upper
())
if
i
==
0
:
elif
element
==
'类别名称'
:
skuname
+=
"("
+
value
+
"/"
value
=
category
elif
i
==
len
(
detail_element_list
)
-
1
:
elif
element
[
0
]
==
"("
and
"/"
in
element
:
skuname
+=
value
+
") "
element
=
element
.
replace
(
"("
,
""
)
.
replace
(
")"
,
""
)
detail_element_list
=
element
.
split
(
"/"
)
for
i
in
range
(
len
(
detail_element_list
)):
#value = cat_sku_df[(cat_sku_df['sku'] == sku) & (cat_sku_df['name'] == detail_element_list[i])]['value'].tolist()[0]
value
=
str
(
params
[
detail_element_list
[
i
]])
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
detail_element_list
[
i
],
value
.
upper
())
else
:
if
i
==
0
:
skuname
+=
value
+
"/"
skuname
+=
"("
+
value
+
"/"
continue
elif
element
[
0
]
==
"("
and
"/"
not
in
element
:
element
=
element
.
replace
(
"("
,
""
)
.
replace
(
")"
,
""
)
if
element
==
'碎纸效果'
and
brandname
!=
'碎乐'
:
elif
i
==
len
(
detail_element_list
)
-
1
:
skuname
+=
value
+
") "
else
:
skuname
+=
value
+
"/"
continue
continue
value
=
str
(
params
[
element
])
elif
element
[
0
]
==
"("
and
"/"
not
in
element
:
element
=
element
.
replace
(
"("
,
""
)
.
replace
(
")"
,
""
)
if
element
==
'适用机型'
:
if
element
==
'碎纸效果'
and
brandname
!=
'碎乐'
:
continue
value
=
str
(
params
[
element
])
if
element
==
'适用机型'
:
skuname
+=
"("
+
value
+
") "
continue
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
element
,
value
.
upper
())
skuname
+=
"("
+
value
+
") "
skuname
+=
"("
+
value
+
") "
continue
continue
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
element
,
value
.
upper
())
else
:
value
=
str
(
params
[
element
])
skuname
+=
"("
+
value
+
") "
continue
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
element
,
value
.
upper
())
if
element
==
'计价规格(包/箱或单包装)'
:
value
=
'计价规格:'
+
value
else
:
skuname
+=
value
+
" "
value
=
str
(
params
[
element
])
value
=
transform_simplevalue
(
tip
,
single_data_dict
,
category
,
element
,
value
.
upper
())
if
element
==
'计价规格(包/箱或单包装)'
:
value
=
'计价规格:'
+
value
skuname
+=
value
+
" "
skuname
=
skuname
.
strip
()
#处理名称中的空格
skuname
=
skuname
.
strip
()
if
index_func
==
'func1'
:
skuname
=
skuname
#elif category in ['笔记本','台式机','一体电脑','碎纸机','U盘','电热水器','冰箱','电风扇','移动硬盘']:
#处理名称中的空格
elif
index_func
==
'func2'
:
if
index_func
==
'func1'
:
skuname
=
skuname
skuname
=
dael_name_content
(
skuname
,
brandname
)
#elif category in ['复印机','多功能一体机','单反相机','显示器','平板电视','触控一体机','平板电脑']:
elif
index_func
==
'func3'
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_1
=
dael_name_content
(
skuname_part1
,
brandname
)
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_1
+
" "
+
category
+
skuname_2
#elif category in ['投影机','激光打印机','空调']:
elif
index_func
==
'func4'
:
if
category
==
'空调'
:
skuname_part1
=
skuname
.
split
(
"空调 ("
)[
0
]
.
strip
()
else
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
.
strip
()
skuname_part2
=
skuname
.
replace
(
"中央空调"
,
""
)
.
replace
(
"空调扇"
,
""
)
.
split
(
category
)[
1
]
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_part1
+
" "
+
category
+
skuname_2
#elif category in ['单电/微单相机']:
elif
index_func
==
'func5'
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_1
=
dael_name_content
(
skuname_part1
,
brandname
)
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_1
+
" "
+
category
+
skuname_2
#else:
elif
index_func
==
'func6'
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
.
strip
()
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_part1
+
" "
+
category
+
skuname_2
if
len
(
skuname
)
>
200
:
skuname
=
skuname
[
0
:
200
]
+
"..."
try
:
cursor_zi_new
.
execute
(
f
"update p_sku set skuname = '{skuname}' where sku = '{sku}'"
)
except
:
cursor_zi_new
.
execute
(
f
"select sku from p_sku where skuname = '{skuname}'"
)
correct_sku
=
cursor_zi_new
.
fetchone
()[
0
]
skuname_double
=
skuname
+
f
"(sku:{sku};重复sku:{correct_sku})"
cursor_zi_new
.
execute
(
f
"update p_sku set skuname = '{skuname_double}',state = '6' where sku = '{sku}'"
)
#更新价格库数据
cursor_zdindex
.
execute
(
f
"select top 1 max(periods) from zd_entry_goods_price"
)
periods
=
cursor_zdindex
.
fetchone
()[
0
]
cursor_zdindex
.
execute
(
f
"update zd_entry_goods_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
cursor_zdindex
.
execute
(
f
"update zd_electricity_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
cursor_zdindex
.
execute
(
f
"update zd_purchase_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
#elif category in ['笔记本','台式机','一体电脑','碎纸机','U盘','电热水器','冰箱','电风扇','移动硬盘']:
elif
index_func
==
'func2'
:
skuname
=
dael_name_content
(
skuname
,
brandname
)
#elif category in ['复印机','多功能一体机','单反相机','显示器','平板电视','触控一体机','平板电脑']:
elif
index_func
==
'func3'
:
for
subtitle
in
subtitle_list
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_1
=
dael_name_content
(
skuname_part1
,
brandname
)
value
=
str
(
row
[
subtitle
])
.
strip
()
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
subtitleid
=
subtitle_id_dict
[
subtitle
]
skuname
=
skuname_1
+
" "
+
category
+
skuname_2
subtitle_type
=
subtitle_type_dict
[
subtitle
]
#elif category in ['投影机','激光打印机','空调']:
elif
index_func
==
'func4'
:
if
category
==
'空调'
:
skuname_part1
=
skuname
.
split
(
"空调 ("
)[
0
]
.
strip
()
else
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
.
strip
()
skuname_part2
=
skuname
.
replace
(
"中央空调"
,
""
)
.
replace
(
"空调扇"
,
""
)
.
split
(
category
)[
1
]
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_part1
+
" "
+
category
+
skuname_2
#elif category in ['单电/微单相机']:
elif
index_func
==
'func5'
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_1
=
dael_name_content
(
skuname_part1
,
brandname
)
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_1
+
" "
+
category
+
skuname_2
#else:
elif
index_func
==
'func6'
:
skuname_part1
=
skuname
.
split
(
category
)[
0
]
.
strip
()
skuname_part2
=
skuname
.
split
(
category
)[
1
]
skuname_2
=
dael_name_content
(
skuname_part2
,
brandname
)
.
replace
(
brandname
,
""
)
skuname
=
skuname_part1
+
" "
+
category
+
skuname_2
if
len
(
skuname
)
>
200
:
skuname
=
skuname
[
0
:
200
]
+
"..."
try
:
cursor_zi_new
.
execute
(
f
"update p_sku set skuname = '{skuname}' where sku = '{sku}'"
)
except
:
cursor_zi_new
.
execute
(
f
"select sku from p_sku where skuname = '{skuname}'"
)
correct_sku
=
cursor_zi_new
.
fetchone
()[
0
]
skuname_double
=
skuname
+
f
"(sku:{sku};重复sku:{correct_sku})"
cursor_zi_new
.
execute
(
f
"update p_sku set skuname = '{skuname_double}',state = '6' where sku = '{sku}'"
)
#更新价格库数据
cursor_zdindex
.
execute
(
f
"select top 1 max(periods) from zd_entry_goods_price"
)
periods
=
cursor_zdindex
.
fetchone
()[
0
]
cursor_zdindex
.
execute
(
f
"update zd_entry_goods_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
cursor_zdindex
.
execute
(
f
"update zd_electricity_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
cursor_zdindex
.
execute
(
f
"update zd_purchase_price set goods_id = '{correct_sku}' where periods = '{periods}' and goods_id = '{sku}'"
)
if
subtitle_type
==
'sku'
:
cursor_zi_new
.
execute
(
f
"select id from p_skuvalue where subtitleid = {subtitleid} and value = '{value}' order by id"
)
for
subtitle
in
subtitle_list
:
data
=
cursor_zi_new
.
fetchall
()
try
:
valueid
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
except
:
cursor_zi_new
.
execute
(
f
"insert into p_skuvalue (subtitleid,value) values ({subtitleid}, '{value}')"
)
cursor_zi_new
.
execute
(
f
"select id from p_skuvalue where subtitleid = {subtitleid} and value = '{value}'"
)
valueid
=
pd
.
DataFrame
(
cursor_zi_new
.
fetchall
(),
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
cursor_zi_new
.
execute
(
f
"select a.valueid from p_skuvaluemap a
\
left join p_skuvalue b
\
on a.valueid = b.id
\
left join p_skusubtitle c
\
on b.subtitleid = c.id
\
where a.skuid = {skuid} and c.name = '{subtitle}'"
)
data
=
cursor_zi_new
.
fetchall
()
valueid_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
valueid_df
.
empty
:
value
=
str
(
row
[
subtitle
])
.
strip
()
cursor_zi_new
.
execute
(
f
"select id from p_skuvaluemap where skuid = {skuid} and valueid = {valueid}"
)
subtitleid
=
subtitle_id_dict
[
subtitle
]
subtitle_type
=
subtitle_type_dict
[
subtitle
]
if
subtitle_type
==
'sku'
:
cursor_zi_new
.
execute
(
f
"select id from p_skuvalue where subtitleid = {subtitleid} and value = '{value}' order by id"
)
data
=
cursor_zi_new
.
fetchall
()
data
=
cursor_zi_new
.
fetchall
()
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_skuvaluemap (skuid,valueid) values ({skuid}, {valueid})"
)
else
:
valueid_list
=
valueid_df
[
'valueid'
]
.
unique
()
.
tolist
()
for
valueid_
in
valueid_list
:
cursor_zi_new
.
execute
(
f
"delete from p_skuvaluemap where skuid = {skuid} and valueid = {valueid_}"
)
cursor_zi_new
.
execute
(
f
"select id from p_skuvaluemap where skuid = {skuid} and valueid = {valueid}"
)
try
:
data
=
cursor_zi_new
.
fetchall
()
valueid
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
except
:
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_skuvalue (subtitleid,value) values ({subtitleid}, '{value}')"
)
cursor_zi_new
.
execute
(
f
"insert into p_skuvaluemap (skuid,valueid) values ({skuid}, {valueid})"
)
cursor_zi_new
.
execute
(
f
"select id from p_skuvalue where subtitleid = {subtitleid} and value = '{value}'"
)
valueid
=
pd
.
DataFrame
(
cursor_zi_new
.
fetchall
(),
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
elif
subtitle_type
==
'spu'
:
cursor_zi_new
.
execute
(
f
"select id from p_value where subtitleid = {subtitleid} and value = '{value}' order by id"
)
data
=
cursor_zi_new
.
fetchall
()
try
:
valueid
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
except
:
cursor_zi_new
.
execute
(
f
"insert into p_value (subtitleid,value) values ({subtitleid}, '{value}')"
)
cursor_zi_new
.
execute
(
f
"select id from p_value where subtitleid = {subtitleid} and value = '{value}'"
)
cursor_zi_new
.
execute
(
f
"select a.valueid from p_skuvaluemap a
\
valueid
=
pd
.
DataFrame
(
cursor_zi_new
.
fetchall
(),
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
left join p_skuvalue b
\
on a.valueid = b.id
\
left join p_skusubtitle c
\
on b.subtitleid = c.id
\
where a.skuid = {skuid} and c.name = '{subtitle}'"
)
data
=
cursor_zi_new
.
fetchall
()
valueid_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
cursor_zi_new
.
execute
(
f
"select a.valueid from p_valuemap a
\
if
valueid_df
.
empty
:
left join p_value b
\
on a.valueid = b.id
\
cursor_zi_new
.
execute
(
f
"select id from p_skuvaluemap where skuid = {skuid} and valueid = {valueid}"
)
left join p_subtitle c
\
data
=
cursor_zi_new
.
fetchall
()
on b.subtitleid = c.id
\
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
where a.spuid = {spuid} and c.name = '{subtitle}'"
)
if
check_df
.
empty
:
data
=
cursor_zi_new
.
fetchall
()
cursor_zi_new
.
execute
(
f
"insert into p_skuvaluemap (skuid,valueid) values ({skuid}, {valueid})"
)
valueid_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
else
:
if
valueid_df
.
empty
:
valueid_list
=
valueid_df
[
'valueid'
]
.
unique
()
.
tolist
()
for
valueid_
in
valueid_list
:
cursor_zi_new
.
execute
(
f
"delete from p_skuvaluemap where skuid = {skuid} and valueid = {valueid_}"
)
cursor_zi_new
.
execute
(
f
"select id from p_skuvaluemap where skuid = {skuid} and valueid = {valueid}"
)
data
=
cursor_zi_new
.
fetchall
()
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_skuvaluemap (skuid,valueid) values ({skuid}, {valueid})"
)
elif
subtitle_type
==
'spu'
:
cursor_zi_new
.
execute
(
f
"select id from p_value
map where spuid = {spuid} and valueid = {valueid}
"
)
cursor_zi_new
.
execute
(
f
"select id from p_value
where subtitleid = {subtitleid} and value = '{value}' order by id
"
)
data
=
cursor_zi_new
.
fetchall
()
data
=
cursor_zi_new
.
fetchall
()
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_valuemap (spuid,valueid) values ({spuid}, {valueid})"
)
else
:
valueid_list
=
valueid_df
[
'valueid'
]
.
unique
()
.
tolist
()
try
:
for
valueid_
in
valueid_list
:
valueid
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
cursor_zi_new
.
execute
(
f
"delete from p_valuemap where spuid = {spuid} and valueid = {valueid_}"
)
except
:
cursor_zi_new
.
execute
(
f
"insert into p_value (subtitleid,value) values ({subtitleid}, '{value}')"
)
cursor_zi_new
.
execute
(
f
"select id from p_value where subtitleid = {subtitleid} and value = '{value}'"
)
valueid
=
pd
.
DataFrame
(
cursor_zi_new
.
fetchall
(),
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])[
'id'
]
.
tolist
()[
0
]
cursor_zi_new
.
execute
(
f
"select a.valueid from p_valuemap a
\
left join p_value b
\
on a.valueid = b.id
\
left join p_subtitle c
\
on b.subtitleid = c.id
\
where a.spuid = {spuid} and c.name = '{subtitle}'"
)
data
=
cursor_zi_new
.
fetchall
()
valueid_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
cursor_zi_new
.
execute
(
f
"select id from p_valuemap where spuid = {spuid} and valueid = {valueid}"
)
if
valueid_df
.
empty
:
data
=
cursor_zi_new
.
fetchall
()
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
cursor_zi_new
.
execute
(
f
"select id from p_valuemap where spuid = {spuid} and valueid = {valueid}"
)
if
check_df
.
empty
:
data
=
cursor_zi_new
.
fetchall
()
cursor_zi_new
.
execute
(
f
"insert into p_valuemap (spuid,valueid) values ({spuid}, {valueid})"
)
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_valuemap (spuid,valueid) values ({spuid}, {valueid})"
)
else
:
valueid_list
=
valueid_df
[
'valueid'
]
.
unique
()
.
tolist
()
for
valueid_
in
valueid_list
:
cursor_zi_new
.
execute
(
f
"delete from p_valuemap where spuid = {spuid} and valueid = {valueid_}"
)
cursor_zi_new
.
execute
(
f
"select id from p_valuemap where spuid = {spuid} and valueid = {valueid}"
)
data
=
cursor_zi_new
.
fetchall
()
check_df
=
pd
.
DataFrame
(
data
,
columns
=
[
tuple
[
0
]
for
tuple
in
cursor_zi_new
.
description
])
if
check_df
.
empty
:
cursor_zi_new
.
execute
(
f
"insert into p_valuemap (spuid,valueid) values ({spuid}, {valueid})"
)
record_code_list
.
append
(
sku
)
except
:
print
(
"处理异常请重跑"
)
return
False
,
record_code_list
conn_zi_new
.
close
()
conn_zi_new
.
close
()
print
(
f
"{category}参数数据更新完成,命名完成"
)
print
(
f
"{category}参数数据更新完成,命名完成"
)
return
True
,
record_code_list
def
get_configure_price
():
def
get_configure_price
():
#获取配件价格
#获取配件价格
...
@@ -566,8 +578,15 @@ def check_configure_price(category,path,params_list):
...
@@ -566,8 +578,15 @@ def check_configure_price(category,path,params_list):
category
=
'复印纸'
category
=
'复印纸'
path
=
'/Users/rico/WorkSpace/1_Project/Company/中电中采/4_中电商品库功能类/更新库内参数并重新命名/复印纸参数确认(校验通过).xlsx'
path
=
'/Users/rico/WorkSpace/1_Project/Company/中电中采/4_中电商品库功能类/更新库内参数并重新命名/复印纸参数确认(校验通过).xlsx'
record_code_list
=
[]
flag
,
return_record_code_list
=
upload_params_data
(
category
,
path
,
record_code_list
)
while
not
flag
:
flag
,
return_record_code_list
=
upload_params_data
(
category
,
path
,
return_record_code_list
)
upload_params_data
(
category
,
path
)
#params_list = ['CPU型号', '产品子系列', '产品系列', '内存容量', '固态硬盘容量', '屏幕尺寸', '操作系统', '显存容量', '机械硬盘容量', '质保时间']
#params_list = ['CPU型号', '产品子系列', '产品系列', '内存容量', '固态硬盘容量', '屏幕尺寸', '操作系统', '显存容量', '机械硬盘容量', '质保时间']
#check_configure_price(category,path,params_list)
#check_configure_price(category,path,params_list)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment