问题描述
python分割文件或列表作为多线程,多进程输入
解决方案
文件分割(利用pandas)
path为文件路径,n每个分割块的大小;
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为每个分割块大小;
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。
原始链接:http://wuyue92tree.antio.top/2016/07/25/python-split-file-or-list/