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)
标签:file,img,excel,写入,ws,发货,row,图片 From: https://www.cnblogs.com/knighterrant/p/17709928.html