前言
在工作中常常会遇见一些大文件,由于内容太多,使用比如记事本、notePad++等软件也打不开,无法查看内容,最好是将整个文件进行拆分,分开处理,现在处理的文件原本是5个G的大文件,最后拆分成了28个小文件。
实现过程
# -*- coding:utf-8 -*-
def Main_split():
source = 'C:\\Users\\Desktop\\proc_create_20210228\\proc_create_20210228.json'
# 此处一定要建上target文件夹,不然会报路径错误
target = 'C:\\Users\\Desktop\\proc_create_20210228\\target\\'
# 文件的行数的计数器
num = 0
# 文件序号
name_num = 1
# 用于存放数据
dataStore = []
# 设置为UTF-8编码
with open(source, 'r', encoding='UTF-8') as file_content:
for line in file_content:
num += 1
dataStore.append(line)
# 设定每个文件为20万行
if num == 200000:
with open(target + "target_list_" + str(name_num) + ".json", 'w+') as file_target:
for data in dataStore:
file_target.write(data)
name_num += 1
num = 0
dataStore = []
# 处理最后一个文件,如果最后一个文件行数少于20万行,进行如下处理
with open(target + "target_list_" + str(name_num) + ".json", 'w+') as file_target:
for data in dataStore:
file_target.write(data)
if __name__ == "__main__":
Main_split()