python文件分割,列表分割

问题描述

python分割文件或列表作为多线程,多进程输入

解决方案

文件分割(利用pandas)

path为文件路径,n每个分割块的大小;

1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd

def split_file(path, n):
df = pd.read_table(path, iterator=True)
loop = True
chunks = []
while loop:
try:
chunk = df.get_chunk(n)
chunks.append(chunk)
except:
loop = False
return chunks

列表分割

pool为待分割列表,n为每个分割块大小;

1
2
3
4
5
6
7
def split_list(self, pool, n):
p_len = len(pool)

new_list = []
for i in range(0, p_len, n):
new_list.append(pool[i:i+n])
return new_list

需要注意的是在进行文本分割时,返回的是pandas的对象;而列表分割返回的是list。