单个数据量多的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)

更多推荐