使用Python多处理写入CSV

使用Python多处理写入CSV,python,multiprocessing,Python,Multiprocessing,我想利用多处理来并行创建单个csv文件,但到目前为止,结果是不可靠的。我创建了一个嵌套列表,当在没有多处理的情况下执行序列化时,该列表的维度应为50×10。但是,生成的csv文件包含作为元素的每个列表。我该如何解决这个问题 from multiprocessing import Pool def sample(key): sample_list = [[34 for i in range(10)] for i in range(50)] return sample_list

我想利用多处理来并行创建单个csv文件,但到目前为止,结果是不可靠的。我创建了一个嵌套列表,当在没有多处理的情况下执行序列化时,该列表的维度应为50×10。但是,生成的csv文件包含作为元素的每个列表。我该如何解决这个问题

from multiprocessing import Pool

def sample(key):
    sample_list = [[34 for i in range(10)] for i in range(50)] 
    return sample_list

pool = Pool(processes=2) # Number of cores I'm using
resultset = pool.imap(sample, list(range(25)), chunksize=25)

with open('./testing.csv','w') as f:
    writer = csv.writer(f, delimiter=',')
    for result in resultset:
        for row in result:
            writer.writerow(row)

你是说
writer.writerow(行)
?是的。那是个打字错误。但是,现在出现了一个新问题。示例列表被复制了25次。这听起来不错,因为列表(范围(25))意味着您将返回一组25个结果(每个50x10)。也许您可以通过添加您希望csv看起来像什么来澄清您的原始问题?