用python拆分大数据量csv文件

单个数据量多的csv文件转化多个单个数据量小csv文件

转化前的大数据量的csv文件:
在这里插入图片描述
在这里插入图片描述


转化后的多个小数据量的csv文件:
在这里插入图片描述
在这里插入图片描述


本代码利用pandas库读取csv文件、写入文件。再利用列表进行分割匹配操作(该csv文件target为1时是连续两行数据,所以需要上一个与接下来一个的数据名进行比较,相同则被分配到同一个csv文件)

直接上代码:

import pandas as pd
import csv
import numpy as np
import argparse


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--big_csv', type=str, default='D:/untitled/.idea/CenterNet/stage_2_train_labels.csv', help='')
    parser.add_argument('--csv_way', type=str, default='D:/untitled/.idea/CenterNet/label_csv', help='')
    opt=parser.parse_args()
    way_1=opt.big_csv
    way_2=opt.csv_way
    print(opt)


df_2=pd.read_csv(way_1,usecols=[0])
df = pd.read_csv(way_1)
list=[]
num=0

for i in range(130):

    df_1 = df_2.loc[i:i]
    df_1=str(df_1)
    name=df_1[-36:]      #截取倒数第36到结尾
    list.append(name)
    print(name)



    if name==list[i-1]:
        df_3=df.loc[i-1:i]
        df_3.to_csv("%s/%s.csv" %(way_2,name),index=False)


    else:
        df_3=df.loc[i:i]
        df_3.to_csv("%s/%s.csv" %(way_2,name),index=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值