使用Python多处理写入CSV
我想利用多处理来并行创建单个csv文件,但到目前为止,结果是不可靠的。我创建了一个嵌套列表,当在没有多处理的情况下执行序列化时,该列表的维度应为50×10。但是,生成的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
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看起来像什么来澄清您的原始问题?