分割csv文件
发布时间:2020-12-17 17:04:25 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 # coding:utf-8# python 2.7import csvimport mathimport sysimport osfrom sys import exit#平均分割CVS文件 def deal_csv(head,data,n,filepath): n
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 # coding:utf-8 # python 2.7 import csv import math import sys import os from 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 data def 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) 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python3 连接sqlite的简单示例
- python基础6之迭代器&生成器、json&pickle数据序列
- python – 网络摄像头:libv4l2和VIDIOC_DQBUF:没有这样的
- day51:django:dispatch&模板渲染&过滤器&标签&
- python – 将原始SMTP消息发送到AMQP代理
- 关于python xlrd的问题
- 在Python的PIL中,如何更改图像的质量?
- python通过pil模块将raw图片转换成png图片
- Python实现希尔排序算法的原理与用法实例分析
- python – 在pandas DataFrame中左对齐字符串值