python实现zencart产品数据导入到magento(python导入数据)
admin
2023-07-31 02:07:00
0

python版本要求在3.3.x,需要mysql connector for python第三方库支持

不适用所有的zencart导入到magento

复制代码 代码如下:
#encoding=utf-8
#@ author:凋零
#@ contact:342103944@qq.com
import mysql.connector
import sys
import time
import glob
import os
import re
import shutil
config={\’host\’:\’127.0.0.1\’,\’user\’:\’root\’,\’password\’:\’1\’,\’port\’:3306 ,\’database\’:\’zencart\’,\’charset\’:\’utf8\’} 
config1={\’host\’:\’127.0.0.1\’,\’user\’:\’root\’,\’password\’:\’1\’,\’port\’:3306 ,\’database\’:\’magento\’,\’charset\’:\’utf8\’}
zencart_image_dir=\”D:/wamp/www/public/images/\”#此处改为自己实际路径
magento_image_dir=\”D:/wamp/www/public1/media/catalog/product/\”#此处改为自己实际路径
#所有产品信息,列表类型
products=[]

#连接到zencart数据库
try: 
    cnn=mysql.connector.connect(**config)

except mysql.connector.Error as e: 
    print(\’connect fails!{}\’.format(e))

#连接到magento数据库

try: 
    cnn_magento=mysql.connector.connect(**config1)

except mysql.connector.Error as e: 
    print(\’connect fails!{}\’.format(e))

#连接到magento数据库

try: 
    cnn_magento1=mysql.connector.connect(**config1)

except mysql.connector.Error as e: 
    print(\’connect fails!{}\’.format(e))

#————–获取产品信息函数块开始—————#
#(获取产品描述,返回字典)
def get_productdescription(product_id):
    global cnn
    product_id=str(product_id)
    description={}
    cursor_des=cnn.cursor()

    cursor_des.execute(\”select products_name,products_url from products_description where products_id=\”+product_id)
    temp_description=cursor_des.fetchone()
    description[\’name\’]=temp_description[0]
    description[\’url\’]=temp_description[1]

    return  description

#(获取产品多图,返回列表)
def get_productaddtionimage(product_image):

    base_dir=\”D:\\\\wamp\\www\\\\public\\\\images\\\\\”#此处改为自己实际路径
    addtion_image=[]
    image_uri=(base_dir+product_image).replace(\’.jpg\’,\’\’)
    for i in range(16):
        if os.path.isfile(image_uri+\’_\’+str(i)+\’.jpg\’):
            addtion_image.append(product_image.replace(\’.jpg\’,\’\’)+\’_\’+str(i)+\’.jpg\’)

           
    else:
        #print (\”none\”)
        pass
    return addtion_image

#(获取产品对应目录,返回列表)
def get_product_categories(product_id):

    product_id=str(product_id)

    categories=[]
    cursor=cnn.cursor()

    cursor.execute(\”select categories_id from products_to_categories where products_id=\”+product_id)

    for row in cursor.fetchall():

        for r in row:
            categories.append(r)

    return categories

#————–获取产品信息函数块结束—————#

#分类id对应字典
categories_to={\\
\’2\’:\’10\’,\’3\’:\’13\’,\’4\’:\’18\’,\’139\’:\’37\’,\’176\’:\’38\’,\’201\’:\’70\’,\’202\’:\’71\’,\’203\’:\’69\’,\’204\’:\’76\’,\’205\’:\’77\’,\\
\’206\’:\’66\’,\’207\’:\’73\’,\’208\’:\’72\’,\’209\’:\’78\’,\’210\’:\’79\’,\’211\’:\’68\’,\’212\’:\’74\’,\’213\’:\’59\’,\’214\’:\’60\’,\’215\’:\’58\’,\’216\’:\’62\’,\’217\’:\’63\’,\’218\’:\’64\’,\’219\’:\’65\’,\’222\’:\’54\’,\\
\’223\’:\’53\’,\’224\’:\’56\’,\’225\’:\’80\’,\’230\’:\’81\’,\’231\’:\’48\’,\’232\’:\’49\’,\’233\’:\’50\’,\’234\’:\’82\’,\’235\’:\’83\’,\’236\’:\’84\’,\’237\’:\’45\’,\’238\’:\’46\’,\\
\’239\’:\’85\’,\’240\’:\’51\’,\’241\’:\’52\’,\’242\’:\’86\’,\’245\’:\’40\’,\’247\’:\’44\’,\’248\’:\’87\’,\’249\’:\’43\’,\’250\’:\’88\’,\’251\’:\’89\’,\’252\’:\’42\’,\\
\’260\’:\’38\’,\’261\’:\’38\’,\’271\’:\’41\’,\\
\’279\’:\’90\’,\’280\’:\’39\’,\’281\’:\’61\’,\’282\’:\’91\’\\
}

#替换特殊字符函数
def cleanchar(str):

    str=str.replace(\’?\’,\’oe\’)
    str=str.replace(\’é\’,\’e\’)
    str=str.replace(\’è\’,\’e\’)
    str=str.replace(\’?\’,\’e\’)
    str=str.replace(\’?\’,\’i\’)
    str=str.replace(\’ê\’,\’e\’)
    str=str.replace(\’a\’,\’a\’)
    str=str.replace(\’à\’,\’a\’)
    str=str.replace(\’?\’,\’u\’)
    str=str.replace(\’ü\’,\’u\’)
    str=str.replace(\’?\’,\’ae\’)              
    str=str.replace(\’?\’,\’o\’)
    str=str.replace(\’?\’,\’o\’)
    str=str.replace(\’?\’,\’c\’)
    str=str.replace(\’?\’,\’i\’)
    str=str.replace(\’?\’,\’i\’)
    str=str.replace(\’?\’,\’i\’)
    str=str.replace(\”\’\”,\”\”)
    str=str.lower()

    str=str.strip()

    return str

#函数,检查是否有相同的url,有则返回新url
def check_url(product_name,sku):
    cursor1=cnn_magento1.cursor()

    cursor1.execute(\”select value from catalog_product_entity_varchar where entity_type_id=10 and attribute_id=96 and value=\’\”+str.strip(product_name)+\”\’\”)
    #result=cursor1.execute(\”select value_id from catalog_product_entity_varchar where entity_type_id=10 and attribute_id=96 and value=\’\”+str.strip(test)+\”\’\”)
    #print (\”select value_id from catalog_product_entity_varchar where entity_type_id=10 and attribute_id=96 and value=\’\”+str.strip(product_name)+\”\’\”)
    row=cursor1.fetchall()

   
    if len(row)!=0:

        rstr = r\”[\\/\\\\\\:\\*\\?\\\”\\<\\>\\|]\”
        url=str.strip(re.sub(rstr, \”-\”, product_name))
        url=url.replace(\’?\’,\’oe\’)
        url=url.replace(\’é\’,\’e\’)
        url=url.replace(\’è\’,\’e\’)
        url=url.replace(\’?\’,\’e\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’ê\’,\’e\’)
        url=url.replace(\’a\’,\’a\’)
        url=url.replace(\’à\’,\’a\’)
        url=url.replace(\’?\’,\’u\’)
        url=url.replace(\’ü\’,\’u\’)
        url=url.replace(\’?\’,\’ae\’)              
        url=url.replace(\’?\’,\’o\’)
        url=url.replace(\’?\’,\’o\’)
        url=url.replace(\’?\’,\’c\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\”\’\”,\”\”)    
        url=url.lower()
        url=url.replace(\’ \’,\’-\’)+\’_\’+sku.lower()

        return url
    else:

        rstr = r\”[\\/\\\\\\:\\*\\?\\\”\\<\\>\\|]\”
        url=str.strip(re.sub(rstr, \”-\”, product_name))
        url=url.replace(\’?\’,\’oe\’)
        url=url.replace(\’é\’,\’e\’)
        url=url.replace(\’è\’,\’e\’)
        url=url.replace(\’?\’,\’e\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’ê\’,\’e\’)
        url=url.replace(\’a\’,\’a\’)
        url=url.replace(\’à\’,\’a\’)
        url=url.replace(\’?\’,\’u\’)
        url=url.replace(\’ü\’,\’u\’)
        url=url.replace(\’?\’,\’ae\’)              
        url=url.replace(\’?\’,\’o\’)
        url=url.replace(\’?\’,\’o\’)
        url=url.replace(\’?\’,\’c\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\’?\’,\’i\’)
        url=url.replace(\”\’\”,\”\”)
        url=url.lower()
        url=url.replace(\’ \’,\’-\’)

        return url

   

#函数,拷贝zencart产品图片到magento目录并根据产品名重命名
def copy_image_to_magento(image,sku,product_name,if_addition_image=False):
    if if_addition_image:
        #去除路径,获取图片名称
        image_name=os.path.basename(zencart_image_dir+image)
        #获取图片类型(后缀)
        extension = os.path.splitext(image_name)[1]
        #分拆图片名称
        image_all=image_name.split(\’_\’)

        #新的图片名称重命名后与产品名称一样(正则替换掉非法字符如/,\\,|,*等)
        rstr = r\”[\\/\\\\\\:\\*\\?\\\”\\<\\>\\|]\”
        new_image_name_noextension=str.strip(re.sub(rstr, \”-\”, product_name))

       
        new_image_name_noextension=cleanchar(new_image_name_noextension)

      
        new_image_name=new_image_name_noextension+\”_\”+image_all[1]

       
        #判断图片是否存在
        if os.path.isfile(magento_image_dir+new_image_name):
            print (\”\\t\\t\\t\\t存在图片\”+new_image_name)
            shutil.copy(zencart_image_dir+image,magento_image_dir+new_image_name_noextension+\”_\”+sku+\”_\”+image_all[1])
            return \’/\’+new_image_name_noextension+\”_\”+sku+\”_\”+image_all[1]
        else:
            print (\”\\t\\t\\t不存在图片\”+new_image_name+\”,执行拷贝图片并重命名\”)
            #不存在图片则拷贝图片到magento目录并重命名
            shutil.copy(zencart_image_dir+image, magento_image_dir+new_image_name)
            return \’/\’+new_image_name

    else:
        #去除路径,获取图片名称
        image_name=os.path.basename(zencart_image_dir+image)
        #获取图片类型(后缀)
        extension = os.path.splitext(image_name)[1]
        #新的图片名称重命名后与产品名称一样(正则替换掉非法字符如/,\\,|,*等)

        rstr = r\”[\\/\\\\\\:\\*\\?\\\”\\<\\>\\|]\”
        new_image_name_noextension=str.strip(re.sub(rstr, \”-\”, product_name))
        new_image_name_noextension=cleanchar(new_image_name_noextension)

        new_image_name=cleanchar(str.strip(re.sub(rstr, \”-\”, product_name)))+extension

   
        #先判断图片是否存在
        if os.path.isfile(magento_image_dir+new_image_name):
            print (\”\\t\\t\\t\\t存在图片\”+magento_image_dir+new_image_name+\”\\n\”)
            #存在图片,则加sku
            shutil.copy(zencart_image_dir+image, magento_image_dir+new_image_name_noextension+\”_\”+sku+extension)
            return \’/\’+new_image_name_noextension+\”_\”+sku+extension

        else:
            print (\”\\t\\t\\t\\t不存在图片\”+magento_image_dir+new_image_name+\”,执行拷贝图片并重命名\\n\”)
            #不存在图片则拷贝图片到magento目录并重命名
            shutil.copy(zencart_image_dir+image, magento_image_dir+new_image_name)
            return \’/\’+new_image_name

  

 

product_sql=\’select * from products\’
cursor=cnn.cursor()
cursor1=cnn.cursor()
cursor.execute(product_sql)
cursor.fetchall()

#返回产品总个数
numrows = cursor.rowcount

 

 

i=0
cursor1.execute(product_sql)
print (\”作者:凋零(qq:342103944)\”)
print (\”开始获取zencart数据库产品信息……….\”)
time.sleep(3)
for row in cursor1.fetchall():
    #临时产品列表
    temp_product=[]

    #存放产品信息,字典类型
    product_info={}

    for r in row:
        #循环存放产品信息到产品列表
        temp_product.append(r)

    product_info[\’product_id\’]=temp_product[0]
    product_info[\’sku\’]=temp_product[3]
    product_info[\’product_image\’]=temp_product[4]
    product_info[\’price\’]=temp_product[5]
    product_info[\’silhouette\’]=temp_product[6].replace(\’\\n\’,\’\’)
    product_info[\’neckline\’]=temp_product[7].replace(\’\\n\’,\’\’)
    product_info[\’waist\’]=temp_product[8].replace(\’\\n\’,\’\’)
    product_info[\’hemline\’]=temp_product[9].replace(\’\\n\’,\’\’)
    product_info[\’sleeve_length\’]=temp_product[10].replace(\’\\n\’,\’\’)
    product_info[\’sleeve_type\’]=temp_product[11].replace(\’\\n\’,\’\’)
    product_info[\’fabric\’]=temp_product[12].replace(\’\\n\’,\’\’)
    product_info[\’embellishment\’]=temp_product[13].replace(\’\\n\’,\’\’)
    product_info[\’belt_fabric\’]=temp_product[14].replace(\’\\n\’,\’\’)
    product_info[\’back_detail\’]=temp_product[15].replace(\’\\n\’,\’\’)
    product_info[\’fully_lined\’]=temp_product[16].replace(\’\\n\’,\’\’)
    product_info[\’built_in_bra\’]=temp_product[17].replace(\’\\n\’,\’\’)
    product_info[\’body_shape\’]=temp_product[18].replace(\’\\n\’,\’\’)
    product_info[\’season\’]=temp_product[19].replace(\’\\n\’,\’\’)
    product_info[\’color\’]=temp_product[20].replace(\’\\n\’,\’\’)
    product_info[\’special_price\’]=temp_product[42]
    product_info[\’master_categories_id\’]=temp_product[43]
    product_info[\’product_name\’]=get_productdescription(product_info[\’product_id\’])[\’name\’]
    product_info[\’addtion_image\’]=get_productaddtionimage(product_info[\’product_image\’])
    product_info[\’product_categories\’]=get_product_categories(product_info[\’product_id\’])

   
    products.append(product_info)

    i=i+1

cursor1.close
print (\”获取数据完毕总共数据为:\”+str(i)+\”条\”)
time.sleep(1)
print (\”开始转存数据到magento库…….\”)
time.sleep(1)
#—————————————-#
#——                              —-#
#——   开始存储数据到magento库      —-#
#——                              —-#
#—————————————-#

cursor=cnn_magento.cursor()
cursor.execute(\”set foreign_key_checks = 0\”)
not_import_categores_id=[]
p=0
for j in range(len(products)):

    product_id=products[j][\’product_id\’]

    product_sku=products[j][\’sku\’]
    product_baseimage=products[j][\’product_image\’]
    product_price=products[j][\’price\’]
    product_silhouette=products[j][\’silhouette\’]
    product_neckline=products[j][\’neckline\’]
    product_waist=products[j][\’waist\’]
    product_hemline=products[j][\’hemline\’]
    product_sleeve_length=products[j][\’sleeve_length\’]
    product_sleeve_type=products[j][\’sleeve_type\’]
    product_fabric=products[j][\’fabric\’]
    product_embellishment=products[j][\’embellishment\’]
    product_belt_fabric=products[j][\’belt_fabric\’]
    product_back_detail=products[j][\’back_detail\’]
    product_fully_lined=products[j][\’fully_lined\’]
    product_built_in_bra=products[j][\’built_in_bra\’]
    product_body_shape=products[j][\’body_shape\’]
    product_season=products[j][\’season\’]
    product_color=products[j][\’color\’]
    product_special_price=products[j][\’special_price\’]
    product_master_categories_id=products[j][\’master_categories_id\’]
    product_name=products[j][\’product_name\’]
    product_addtion_image=products[j][\’addtion_image\’]
    product_to_categories=products[j][\’product_categories\’]

    #判断两个数据库之间分类是否对应,然后插入数据到magneto库,没有则不执行
    if str(product_master_categories_id) in categories_to.keys():
        p=p+1
        print (\”—第【\”+str(p)+\”】条:\”+product_sku)

   
        #开始转存数据到catalog_product_entity表
        cursor.execute(\”insert into catalog_product_entity set entity_type_id=10,attribute_set_id=9,type_id=\’simple\’,sku=\’\”+product_sku+\”\’,created_at=\’2013-05-27 03:18:42\’,updated_at=\’2013-05-29 07:59:35\’,has_options=1,required_options=1\”)
      

        #获取实体(产品)id
        catalog_entity_id=cursor.lastrowid

        #插入数据到产品分类对应表
        for categories_id in product_to_categories:

            if str(categories_id) in categories_to.keys():
                 cursor.execute(\”insert into catalog_category_product set category_id=\”+categories_to[str(categories_id)]+\”,product_id=\”+str(catalog_entity_id)+\”,position=1\”)
                 for i in range(1,4):

                     cursor.execute(\”insert into catalog_category_product_index set category_id=\”+str(categories_id)+\”,product_id=\”+str(catalog_entity_id)+\”,position=1,is_parent=1,store_id=\”+str(i)+\”,visibility=4\”)
                    

        #插入产品相关值到实体时间值表
        cursor.execute(\”insert into catalog_product_entity_datetime set entity_type_id=10,attribute_id=704,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’2013-05-19 00:00:00\’\”)
        cursor.execute(\”insert into catalog_product_entity_datetime set entity_type_id=10,attribute_id=705,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’2013-05-25 00:00:00\’\”)
        cursor.execute(\”insert into catalog_product_entity_datetime set entity_type_id=10,attribute_id=572,store_id=0,entity_id=\”+str(catalog_entity_id))
        cursor.execute(\”insert into catalog_product_entity_datetime set entity_type_id=10,attribute_id=573,store_id=0,entity_id=\”+str(catalog_entity_id))

        #插入促销价格,如果没促销价格则不执行
        if product_special_price!=\’\’:

            cursor.execute(\”insert into catalog_product_entity_decimal set entity_type_id=10,attribute_id=567,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\”+str(product_special_price))

        #插入产品重量,产品价格
        cursor.execute(\”insert into catalog_product_entity_decimal set entity_type_id=10,attribute_id=101,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=2\”)
        cursor.execute(\”insert into catalog_product_entity_decimal set entity_type_id=10,attribute_id=99,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\”+str(product_price))
        cursor.execute(\”insert into catalog_product_entity_decimal set entity_type_id=10,attribute_id=943,store_id=0,entity_id=\”+str(catalog_entity_id))

        #插入产品相关值到实体整型表(产品状态,关税,前台可见,制造商,enable_googlecheckout)

        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=273,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=1\”)
        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=274,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=1\”)
        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=526,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=4\”)
        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=102,store_id=0,entity_id=\”+str(catalog_entity_id))
        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=903,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=1\”)
        cursor.execute(\”insert into catalog_product_entity_int set entity_type_id=10,attribute_id=935,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=0\”)

        #####拷贝产品图片到magento目录并插入到数据库#######

        #拷贝并插入主图
        base_image_in_magento=copy_image_to_magento(product_baseimage,product_sku,product_name,False)
        cursor.execute(\”insert into catalog_product_entity_media_gallery set attribute_id=703,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+base_image_in_magento+\”\’\”)
        gallery_id=cursor.lastrowid
        cursor.execute(\”insert into catalog_product_entity_media_gallery_value set value_id=\”+str(gallery_id)+\”,store_id=0,position=1,disabled=0\”)
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=493,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+base_image_in_magento+\”\’\”)
        #small_image
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=109,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+base_image_in_magento+\”\’\”)
        #image
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=106,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+base_image_in_magento+\”\’\”)

        #拷贝并插入附加图
        if len(product_addtion_image)!=0:
            iii=2
            for each_image in product_addtion_image:
                addition_image_in_magento=copy_image_to_magento(each_image,product_sku,product_name,True)
                cursor.execute(\”insert into catalog_product_entity_media_gallery set attribute_id=703,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+addition_image_in_magento+\”\’\”)
                addition_id=cursor.lastrowid
                cursor.execute(\”insert into catalog_product_entity_media_gallery_value set value_id=\”+str(addition_id)+\”,store_id=0,position=\”+str(iii)+\”,disabled=0\”)
                iii=iii+1

        #插入产品相关值到实体文本表(产品描述,段描述等)
        cursor.execute(\”insert into catalog_product_entity_text set entity_type_id=10,attribute_id=506,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’short_description& & \’\”)
        cursor.execute(\”insert into catalog_product_entity_text set entity_type_id=10,attribute_id=531,store_id=0,entity_id=\”+str(catalog_entity_id))
        cursor.execute(\”insert into catalog_product_entity_text set entity_type_id=10,attribute_id=104,store_id=0,entity_id=\”+str(catalog_entity_id))
        cursor.execute(\”insert into catalog_product_entity_text set entity_type_id=10,attribute_id=97,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’description& & \’\”)

        #插入产品到catalog_product_entity_varchar(产品名称,url等)
        #插入name
        product_name=product_name.replace(\”\’\”,\”\”)
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=96,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+str.strip(product_name)+\”\’\”)
        #插入url_key
        url=check_url(product_name,product_sku)
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=481,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+str.strip(url)+\”\’\”)
        #manufacture
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=940,store_id=0,entity_id=\”+str(catalog_entity_id))
        #msrp_enabled
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=941,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=2\”)
        #msrp_display_actual_price_type
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=942,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=4\”)
        #meta_title
        #cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=103,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=4\”)
        #meta_description
        #cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=105,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=4\”)

        #thumbnail
        #print (\”insert into `catalog_product_entity_varchar` set `entity_type_id`=10,`attribute_id`=493,`store_id`=0,`entity_id`=\”+str(catalog_entity_id)+\”,`value`=\’no_selection\’\”)
        #input()
        #cursor.execute(\”insert into `catalog_product_entity_varchar` set `entity_type_id`=10,`attribute_id`=493,`store_id`=0,`entity_id`=\”+str(catalog_entity_id)+\”,`value`=\’no_selection\’\”)

        #custom_design
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=571,store_id=0,entity_id=\”+str(catalog_entity_id))
        #options_container
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=836,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’container2\’\”)
        #page_layout
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=931,store_id=0,entity_id=\”+str(catalog_entity_id))
        #gift_message_available
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=562,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=1\”)

        #thumbnail_label
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=881,store_id=0,entity_id=\”+str(catalog_entity_id))
        #small_image_label
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=880,store_id=0,entity_id=\”+str(catalog_entity_id))

        #image_label
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=879,store_id=0,entity_id=\”+str(catalog_entity_id))

        #url_path
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=570,store_id=0,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+str.strip(url)+\”\’\”)
        cursor.execute(\”insert into catalog_product_entity_varchar set entity_type_id=10,attribute_id=570,store_id=1,entity_id=\”+str(catalog_entity_id)+\”,value=\’\”+str.strip(url)+\”\’\”)

        #插入catalog_product_flat(1,2,3)表
        for aa in range(1,4):
            cursor.execute(\”insert into catalog_product_flat_\”+str(aa)+\” set entity_id=\”+str(catalog_entity_id)+\”,attribute_set_id=9,type_id=\’simple\’,created_at=\’2013-05-31 06:43:21\’\\
            ,description=\’test test ,& \’,enable_googlecheckout=1,has_options=1,image=\’\”+base_image_in_magento+\”\’,is_recurring=0,msrp_display_actual_price_type=4\\
            ,msrp_enabled=2,name=\’\”+product_name+\”\’,price=\”+str(product_price)+\”,required_options=1,short_description=\’short description & \’,sku=\’\”+product_sku+\”\’\\
            ,small_image=\’\”+base_image_in_magento+\”\’,special_from_date=\’2013-05-19 00:00:00\’,special_price=\”+str(product_special_price)+\”,special_to_date=\’2014-06-27 00:00:00\’\\
            ,tax_class_id=1,thumbnail=\’no_selection\’,updated_at=\’2013-05-31 10:38:25\’,url_key=\’\”+url+\”\’,url_path=\’\”+url+\”\’,visibility=4,weight=2\”)
        for aa in range(1,4):
            cursor.execute(\”insert into catalog_product_index_eav set entity_id=\”+str(catalog_entity_id)+\”,attribute_id=903,store_id=\”+str(aa)+\”,value=1\”)
            cursor.execute(\”insert into catalog_product_index_eav set entity_id=\”+str(catalog_entity_id)+\”,attribute_id=971,store_id=\”+str(aa)+\”,value=128\”)

        #catalog_product_index_eav_idx
        for aa in range(1,4):
            cursor.execute(\”insert into catalog_product_index_eav_idx set entity_id=\”+str(catalog_entity_id)+\”,attribute_id=903,store_id=\”+str(aa)+\”,value=1\”)

        #catalog_product_index_price
        for aa in range(5):
            cursor.execute(\”insert into catalog_product_index_price set entity_id=\”+str(catalog_entity_id)+\”,customer_group_id=\”+str(aa)+\”,website_id=1,tax_class_id=1,price=\”+str(product_price)+\”\\
            ,final_price=\”+str(product_special_price)+\”,min_price=\”+str(product_special_price)+\”,max_price=\”+str(product_special_price))
        #catalog_product_index_price_idx
        for aa in range(5):
            cursor.execute(\”insert into catalog_product_index_price_idx set entity_id=\”+str(catalog_entity_id)+\”,customer_group_id=\”+str(aa)+\”,website_id=1,tax_class_id=1,price=\”+str(product_price)+\”\\
            ,final_price=\”+str(product_special_price)+\”,min_price=\”+str(product_special_price)+\”,max_price=\”+str(product_special_price))   
        #catalog_product_website
        cursor.execute(\”insert into catalog_product_website set product_id=\”+str(catalog_entity_id)+\”,website_id=1\”)

        #cataloginventory_stock_item
        cursor.execute(\”insert into cataloginventory_stock_item set product_id=\”+str(catalog_entity_id)+\”,stock_id=1,qty=1000,min_qty=0,use_config_min_qty=1,is_qty_decimal=0,\\
        backorders=0,use_config_backorders=1,min_sale_qty=1,use_config_min_sale_qty=1,max_sale_qty=0,use_config_max_sale_qty=1,is_in_stock=1,use_config_notify_stock_qty=1,\\
        manage_stock=0,use_config_manage_stock=1,stock_status_changed_auto=0,use_config_qty_increments=1,qty_increments=0,use_config_enable_qty_inc=1,enable_qty_increments=0,\\
        is_decimal_divided=0\”)
        #cataloginventory_stock_status
        cursor.execute(\”insert into cataloginventory_stock_status set product_id=\”+str(catalog_entity_id)+\”,website_id=1,stock_id=1,qty=1000,stock_status=1\”)
        #cataloginventory_stock_status_idx
        cursor.execute(\”insert into cataloginventory_stock_status_idx set product_id=\”+str(catalog_entity_id)+\”,website_id=1,stock_id=1,qty=1000,stock_status=1\”)
        cnn_magento.commit()
    else:
        print (\”\\t\\t\\tid[\”+str(product_master_categories_id)+\”]在magneto库中没有与之对应的id,跳过此分类\”)
        not_import_categores_id.append(str(product_master_categories_id))

cursor.execute(\”set foreign_key_checks = 1\”)
cursor.close
print (\”导入完成\”)
print (\”一共有\”+str(len(not_import_categores_id))+\”没导入\”)

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...