我有一个大的csv文件,其中大约有5000行。
第一列包含每行的标识名称,即LHGZZ01前9行的名称为LHGZZ01,下10行为其他名称,依此类推。
我没有这样的图案np.唯一查找名称更改的索引。在
我想写一个循环,将源csv的每一行写入一个循环中只包含相同名称的新csv文件。在datafile = open('source.csv','rb')
reader = csv.reader(datafile)
data = []
idx = []
dataidx = []
next(reader, None)#skip headers
for row in reader:
d = row[0]
idx.append(d)
data.append(row)
dataidx.append(row[0])
index =np.sort(np.unique(idx,return_index=True)[1])
nme = []#list of unique names
for row in index:
nm = data[row][0]
nme.append(nm)
for i in np.arange(0,9):
with open(str(out_dir)+str(nme[0])+'.csv','w') as f1:
row = data[i]
writer=csv.writer(f1, delimiter=',')#lineterminator='\n',
writer.writerow(row)
上面的代码写入新csv的第一行并停止。在
我的问题是如何循环源.csv文件在每次新名称更改后拆分数据,然后将具有相同行名的行写入唯一的csv?在
很抱歉这个冗长的问题,但不幸的是,这个问题超出了我的python技能,它让我抓狂。在
非常感谢您的帮助或建议
csv示例:
^{pr2}$