import xlsxwriter import time def gs1(start_at=1, total=1): result_list = [] for i in range(total): upc_a = '192995409484' serial = start_at + i indicator = '0' company_prefix = upc_a[0:6] item_number = upc_a[6:11] if len(company_prefix) < 7: company_prefix = company_prefix.zfill(7) header = 48 filter = 1 partition = 5 header_bin = format(header, 'b').zfill(8) filter_bin = format(filter, 'b').zfill(3) partition_bin = format(partition, 'b').zfill(3) company_prefix_bin = format(int(company_prefix), 'b').zfill(24) item_number_bin = format(int(indicator + item_number), 'b').zfill(20) serial_bin = format(serial, 'b').zfill(38) epc_bin = header_bin + filter_bin + partition_bin + company_prefix_bin + item_number_bin + serial_bin epc_hex = hex((int(epc_bin, 2)))[2:].upper() result = epc_hex result_list.append(result) return result_list def generate_excel(result_list): workbook = xlsxwriter.Workbook(str(int(time.time()))+'.xlsx') font_14 = workbook.add_format({'font_name': u'宋体', 'size': 14, 'align': 'center'}) font_16 = workbook.add_format({'font_name': u'宋体', 'size': 16, 'align': 'center'}) current_sheet = workbook.add_worksheet() current_sheet.set_column('A1:A1', 30) for index, record in enumerate(result_list): current_sheet.write(index, 0, record, font_16) workbook.close() if __name__ == "__main__": # 起始位 start_at = 1 # 生成总数量 total = 20 result_list = gs1(start_at, total) generate_excel(result_list) print('done')