分割csv文件

分割csv文件,第1张

概述分割csv文件

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

# Coding:utf-8# python 2.7import csvimport mathimport sysimport osfrom sys import exit#平均分割CVS文件   def deal_csv(head,data,n,filepath):    name = filepath.split('.')[0]    line_number = 1000000    if int(math.ceil(len(data)/float(n)))<=line_number:        line_number = int(math.ceil(len(data)/float(n)))    else:        n = int(math.ceil(len(data)/float(line_number)))    temp = []    for i in range(len(data)-1,-1,-1):        temp.append(data[i])        if i==(n-1)*line_number:            reader = csv.writer(open("%s_%d.csv"%(name,n),'wb'))            reader.writerow(head)            for line in temp:                reader.writerow(line)            n-=1            temp=[]    print 'Sourcefile -> %s'%(name)    print 'filePath -> %s'%(os.getcwd())    print 'Status -> Success'#读取文件内容并按行转化成数组def read_csv(filepath,sign):    reader = csv.reader(file(filepath,'rb'))    data = []    if sign==',':        for line in reader:            data.append(line)    else:        for line in reader:            data.append(line[0].split(sign))    return datadef read_file(filepath,sign):    file = open(filepath)    try:        data = []        reader = file.readlines()        for line in reader:            data.append(line.strip('\n').split(sign))        return data    finally:         file.close()        if __name__=="__main__":     data = []    filepath=''    sign=''    if len(sys.argv)==3:        sign=','    elif len(sys.argv)==4:        sign=sys.argv[3]    else:        sys.exit()    #获取文件名    filepath=sys.argv[1]    #获取数据    data = read_file(filepath,sign)    #获取分割数    n=int(sys.argv[2])    deal_csv(data[0],data[1:],filepath)            

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的分割csv文件全部内容,希望文章能够帮你解决分割csv文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1198486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存