用python拆分大数据量csv文件
单个数据量多的csv文件转化多个单个数据量小csv文件转化前的大数据量的csv文件:转化后的多个小数据量的csv文件:本代码利用pandas库读取csv文件、写入文件。再利用列表进行分割匹配操作(该csv文件target为1时是连续两行数据,所以需要上一个与接下来一个的数据名进行比较,相同则被分配到同一个csv文件)直接上代码:import pandas as pdimport csvimport
·
单个数据量多的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)
更多推荐
已为社区贡献1条内容
所有评论(0)