使用python处理大的CSV文件

2020-04-14  本文已影响0人  学Python的老头

老核保所在的部门经常要搞点数据分析,现在业务越来越多,费率越来越低,不分析,估计内裤都要赔给别人了。
氮素,现在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编码,请自行修改相关代码。

上一篇 下一篇

猜你喜欢

热点阅读