图片数据写入excel

发布时间 2023-09-17 22:04:40作者: 百熟小生
import json
# import pandas as pd
from openpyxl import Workbook
from openpyxl.drawing.image import Image

excel_col_map = {
    1: "A",
    2: "B",
    3: "C",
    4: "D",
    5: "E",
    6: "F",
    7: "G"
}

# df = pd.read_excel("兴飞电子商务产品上架审批表4.xlsx")
# print(df)
# for _, row in df.iterrows():
#     print(list(row))
#     print(len(list(row)))

def json2excel(json_file,excel_file):
        headers = ['序号', '供应商名称', '商家类别', '日期', '联系方式', '商品ID', '商品名称', '品牌', '类目', '授权级别/厂家',
                   '产品卖点', '发货地/发货快递', '配送范围', '产品重量(含包装)', '库存 ',
                   '每日订单截止发货时间(周六日不发货请备注)', '下单后是否24小时发货', '是否具备可开发票(增票/普票)', '保质期',
                   '规格/型号\n(g/袋、颜色等,多规格一定要备注清楚)', '一件代发供货价\n(不含税含运费)',
                   '一件代发价\n(含税含运费)', '建议销售价', '利润点', '售后赔付标准', '是否有控价,有的话,建议价格填最低控价',
                   '产品条码', '商品图片', '是否为扶贫助农/振兴乡村企业', '中国人民共和国地理标志',
                   '中国人民共和国地理标志保护产品', '中国有机产品', '农产品地理标志']
        # 图片所在列
        column_letter="AB"
        img_col_index= headers.index('商品图片')+1
        wb = Workbook()  # 33
        ws = wb.active
        ws.append(headers)
        f = open(json_file, 'r', encoding="utf-8")
        rank=0
        for line in f:
                if not line.strip():
                        continue
                data=json.loads(line)
                guige_list= data.get("规格-价格-图")
                guige_name = guige_list[-1].get("规格名")
                price = round(float(guige_list[-1].get("price"))+10,2)
                img_path = data.get("main_img_path_list")[-1]
                rank += 1 # 序号
                company="淄博兴飞电子商务有限公司" # 供应商名称
                company_cate="" #商家类别
                crawl_time=data.get("crawl_time")# 日期
                phone="13455330099" # 联系方式
                shop_id="" # 商品ID
                title = data.get("title")
                品牌=""
                类目="食品"
                授权级别厂家=""
                产品卖点=""
                发货地发货快递="中通"
                配送范围="全国"
                产品重量含包装=""
                库存="10000"
                每日订单截止发货时间="当天16点"
                下单后是否24小时发货=""
                是否具备可开发票=""
                保质期="阴凉处保存"
                规格=guige_name
                一件代发供货价=price
                一件代发价=""
                建议销售价=""
                利润点=""
                售后赔付标准="破损包赔"
                是否有控价=""
                产品条码=""
                商品图片=img_path
                是否为扶贫助农=""
                中国人民共和国地理标志=""
                中国人民共和国地理标志保护产品=""
                中国有机产品=""
                农产品地理标志=""
                lst = [
                        rank,company,company_cate,crawl_time,phone,
                        shop_id,title,品牌,类目,授权级别厂家,
                        产品卖点,发货地发货快递,配送范围,产品重量含包装,库存,
                        每日订单截止发货时间,下单后是否24小时发货,是否具备可开发票,保质期,规格,
                        一件代发供货价,一件代发价,建议销售价,利润点,售后赔付标准,
                        是否有控价,产品条码,商品图片,是否为扶贫助农,中国人民共和国地理标志,
                        中国人民共和国地理标志保护产品,中国有机产品,农产品地理标志
                       ]
                ws.append(lst)
                img = Image(img_path)
                img.width = 40
                img.height = 40
                # column_letter = 'C'
                ws.column_dimensions[column_letter].width = img.width
                cell = ws.cell(row=ws.max_row, column=img_col_index)
                cell.value = None
                ws.add_image(img, f'{column_letter}{ws.max_row}')
                ws.row_dimensions[ws.max_row].height = 40
        wb.save(excel_file)
if __name__ == '__main__':
    json_file=r"D:\data\taobao\yuexiang\result.json"
    excel_file= "1.xlsx"
    # json2excel(json_file,excel_file)
    import time
    t= time.strftime("%Y%m%d",time.localtime())
    print(t)