• Python将大的csv文件拆分多个小的csv文件


    #ecoding=utf-8
    import os
    import time
    # 2019/9/8 将大的csv文件拆分多个小的csv文件
    
    def mkSubFile(lines, head, srcName, sub):
        [des_filename, extname] = os.path.splitext(srcName)
        filename = des_filename + '_' + str(sub) + extname
        print('make file: %s' % filename)
        fout = open(filename, 'w')
        try:
            fout.writelines([head])
            fout.writelines(lines)
            return sub + 1
        finally:
            fout.close()
    
    
    def splitByLineCount(filename, count):
        fin = open(filename,encoding="utf-8")
        try:
            head = fin.readline()
            buf = []
            sub = 1
            for line in fin:
                buf.append(line)
                if len(buf) == count:
                    sub = mkSubFile(buf, head, filename, sub)
                    buf = []
            if len(buf) != 0:
                sub = mkSubFile(buf, head, filename, sub)
        finally:
            fin.close()
    
    
    if __name__ == '__main__':
        begin = time.time()
        splitByLineCount('training-inspur.csv', 1000)#每个小的csv文件存放1000条
        end = time.time()
        print('time is %d seconds ' % (end - begin))

  • 相关阅读:
    [手游新项目历程]-36- error: stray ‘357’ in program
    广告学(一)
    VMware的Unity模式
    poj3709
    poj1849
    bzoj2007
    bzoj3209
    bzoj2466,poj1222
    bzoj1016
    bzoj2186
  • 原文地址:https://www.cnblogs.com/zyt-bg/p/11486993.html
Copyright © 2020-2023  润新知