老头所在的部门经常要搞点数据分析,现在业务越来越多,价格越来越低,不分析,估计内裤都要赔给别人了。
氮素,现在CSV为什么都这么大了,啊啊啊……
没有2G都不好意思出来见人,还特末是一个季度的,啊啊啊……
也不知是多少条内容。
部门小伙伴用可怜的4G内存老电脑,使用excel打了半天,最后出现一片空白。
然后,他们又来找万能的老头想点办法。
老头想了想,估计又是那个excel不能打开超过64万或100万(根据版本不同)的限制。
那就搞个小程序拆开嘛。
#coding=utf-8
file_name = 'E:\abc.csv'
with open(file_name, 'r',encoding='GB18030') as f:
csv_file = f.readlines()
print(len(csv_file))
linesPerFile = 1000000
filecount = 1
for i in range(0, len(csv_file), linesPerFile):
with open(file_name[:-4] + '_' + str(filecount) + '.csv', 'w+',encoding='GB18030') as f1:
if filecount > 1:
f1.write(csv_file[0])
f1.writelines(csv_file[i:i+linesPerFile])
filecount += 1
本程序可以把先找出abc.csv有多少条,然后按100万条为限,把原文件拆成abc_1.csv、abc_2.csv……。搞完收工。
另外提示一下,因为老头公司系统导出的csv是按GB18030编码的,如果你们公司是用UTF-8编码,请自行修改相关代码。