code: def df2chucks(din,chunksize,outd,fn,return_fmt='\t',force=False):
      
      from os.path import exists#,splitext,dirname,splitext,basename,realpath
      from os import makedirs
      din.index=range(0,len(din),1)
  
      chunkrange=list(np.arange(0,len(din),chunksize))
      chunkrange=list(zip([c+1 if ci!=0 else 0 for ci,c in enumerate(chunkrange)],chunkrange[1:]+[len(din)-1]))
  
      chunk2range={}
      for ri,r in enumerate(chunkrange):    
          chunk2range[ri+1]=r
  
      if not exists(outd):
          makedirs(outd)
      chunks=[]
      chunkps=[]
      for chunk in chunk2range:
          chunkp='{}/{}_chunk{:08d}.tsv'.format(outd,fn,chunk)
          rnge=chunk2range[chunk]
          din_=din.loc[rnge[0]:rnge[1],:]
          if not exists(chunkp) or force:
              if return_fmt=='list':
                  chunks.append(din_)
              else:
                  din_.to_csv(chunkp,sep=return_fmt)
              del din_
          chunkps.append(chunkp)
      if return_fmt=='list':
          return chunks
      else:
          return chunkps
docs: :param return_fmt: '\t': tab-sep file, lly, '.', 'list': returns a list