丝路通:导入商品数据

来自CloudWiki
Cloud17讨论 | 贡献2020年9月26日 (六) 14:27的版本
跳转至: 导航搜索

商品表goods的结构

MariaDB [mxshop]> desc goods_goods;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| goods_sn          | varchar(50)  | NO   |     | NULL    |                |
| name              | varchar(100) | NO   |     | NULL    |                |
| click_num         | int(11)      | NO   |     | NULL    |                |
| sold_num          | int(11)      | NO   |     | NULL    |                |
| fav_num           | int(11)      | NO   |     | NULL    |                |
| goods_num         | int(11)      | NO   |     | NULL    |                |
| market_price      | double       | NO   |     | NULL    |                |
| shop_price        | double       | NO   |     | NULL    |                |
| goods_brief       | longtext     | NO   |     | NULL    |                |
| goods_desc        | longtext     | NO   |     | NULL    |                |
| ship_free         | tinyint(1)   | NO   |     | NULL    |                |
| goods_front_image | varchar(100) | YES  |     | NULL    |                |
| is_new            | tinyint(1)   | NO   |     | NULL    |                |
| is_hot            | tinyint(1)   | NO   |     | NULL    |                |
| add_time          | datetime     | NO   |     | NULL    |                |
| category_id       | int(11)      | NO   | MUL | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+

生成CSV文件

敦煌网

import time

goods_file ='dh_goods_data_final.csv'
def read_category_file():
    goods_list =""
    fp = open('dh_goods_data.csv', "rt")  # 打开csv文件

    count= 0

    #类别名  类目级别  父类目级别


    for line in fp:  # 文件对象可以直接迭代
        count +=1
        
        d = {};
        now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        line_info=""
        data = line.split(',')
        d['id']="NULL"
        d['goods_sn']="NULL"
        d['name']=data[5]
        d['category1_name']=data[2]
        d['category2_name']=data[2]
        d['category3_name']=data[3]
        d['click_num']=0
        d['sold_num']=0
        d['market_price']=data[12].strip()
        d['shop_price']=data[12].strip()
        d['goods_brief'] = "NULL"
        d['goods_desc'] = "<p><img src=\""+data[4]+"\" title=\"\" alt=\"2.jpg\"/></p>;"
        d['ship_free'] = 0;
        d['goods_front_image'] = data[4];
        d['is_new'] = 1
        d['is_hot'] = 1
        d['add_time'] = now_time
        d['category_id'] = "NULL"
            
        for k in d:
            line_info += str(d.get(k))+","

        print(line_info)
            
        goods_list += line_info+",\n"
        
        if count%10 ==0:
            fw = open(goods_file,"a",encoding="utf-8")
            fw.write(goods_list)
            fw.close()
            goods_list =""
        
    fw = open(goods_file,"a",encoding="utf-8")
    fw.write(goods_list)
    fw.close()
    goods_list =""   
    fp.close()
    return goods_list

if __name__ == '__main__':
    cat_list =read_category_file()