pandas根据输入ID进行分表

功能:根据输入excel表的id号段进行分表,可以重复输入多个号段。
代码实现:用pandas的read_excel里的skiprows与nrows来实现。


import pandas as pd
from time import *
begin_time = time() #程序运行时间
dirPath = r'E:\Work\Test\\'
dirPath2 = r'E:\Work\Test\表格拆分\\'
path = dirPath + '3473666-3482675.xlsx' #excel的路径

orgName = pd.read_excel(path)
SerialNumber_list = list(orgName['流水号'].drop_duplicates())
BarCode_list = list(orgName['barcode'].drop_duplicates())
BarCode = BarCode_list[0]
SerialNumber = SerialNumber_list[0]
data_storage = []
bol = 'y'
while bol != 'n':
    arr = []
    start_serialnumber = int(input('起始流水号:'))
    end_serialnumber = int(input('终止流水号:'))
    start_number = (start_serialnumber-SerialNumber)*2
    all_number = (end_serialnumber - start_serialnumber +1)*2
    arr.append(start_number)
    arr.append(all_number)
    arr.append(start_serialnumber)
    arr.append(end_serialnumber)
    data_storage.append(arr)
    bol = input('输入n停止,任意键继续输入:')
#获取连续数字
def SequenceNums(sta,end):
    numbers = []
    for i in range(sta,end+1):
        numbers.append(i)
    return numbers
#循环遍历输出表格
for i in range(data_storage.__len__()):
    tempdata = pd.read_excel(path,dtype='object', skiprows=SequenceNums(1,data_storage[i][0]), nrows=data_storage[i][1])
    writer = pd.ExcelWriter(dirPath2 + str(data_storage[i][2])+'-'+str(data_storage[i][3])+'-'+ '.xlsx')
    tempdata.to_excel(writer, index=False)
    writer.save()
    writer.close()
end_time = time() #程序运行结束时间
run_time = end_time - begin_time
print('程序运行总时间:',run_time)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChenWenKen

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值