python拆分excel表的应用 如在 智慧记 销售单据重新导入

把导出来xm.xlsx文件,然后简单操作成xmA.xls

 

拆分成适合导入的格式如:

 

 接下来是来操作的代码:

import xlrd # pip install xlrd==1.2.0 高版不支持xlsx
import xlwt
workbook = xlrd.open_workbook('xmA.xlsx') # 文件名要用英语,要不然会出错
print(workbook.sheet_names())
sheet = workbook.sheet_by_index(0)
print(sheet)
rows = [sheet.row_values(row, 0, 7) for row in range(sheet.nrows)]
good_lists = {}
for r in rows:
    if r[4] not in good_lists: # r[4]第5列 单号
        good_lists[r[4]] = []
    print(good_lists)
    good_lists[r[4]].append(r)
for (good, lst) in good_lists.items():
    wb = xlwt.Workbook()
    ws = wb.add_sheet('Sheet1')
    ws.write(0, 0, '货品代码')
    ws.write(0, 1, '品名规格(必填)')
    ws.write(0, 2, '数量')
    ws.write(0, 3, '原价') # 注意 单价不能为0
    mz = [i[5] for i in lst] # 读取lst数据 取出 名称
    c = mz[0]
    ru = [i[3] for i in lst] # 读取lst数据 取出 日期
    d = ru[0]
    print(c)
    print(d)
    row_idx = 1
    for new_r in lst:
        col_idx = 1 # 这不选0 而选1 是为了第一列为空白
        for v in new_r:
            ws.write(row_idx, col_idx, v)
            col_idx = col_idx + 1
        row_idx = row_idx + 1
    wb.save('./'+good+c+d+'.xlsx') # good 是单号 c 是名称 d 是日期

运行run.py 后生成文件:

 

 

再手动导入软件(自动还有待 研究。。。)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值