我是python多重处理的新手,我想知道是否可以对数据进行分析。
file1=open('./R.csv','r').readlines()
file2=open('./N.csv','r').readlines()
Dict1={}
Dict2={}
for k1 in range(0,len(file1)):
d1=file2[k1].split(',')[0]
Dict1[k1]=d1
#print(Dict1[1])
for k2 in range(0,len(file2)):
d2=file2[k2].split(',')[0]
Dict2[k2]=d2
#print(new_Dict[0])
for i in range(0,len(file1)):
for j in range(0,len(file2)):
if Dict1[i] in Dict2[j]:
print(Dict1[i]+","+file1[i].split(',')[1].strip()+","+file2[j].split(',')[1].strip())
该代码有效,但是由于两个文件都是巨大的数据集,因此需要花费大量时间才能完成工作。我想在服务器的工作站上使用所有64个CPU群集。但是不知道如何...
我尝试按照下面的链接操作,但不知何故被卡住了。
https://stackoverflow.com/questions/914821/producer-consumer-problem-with-python-multiprocessing
https://www.youtube.com/watch?v=sp7EhjLkFY4
https://www.youtube.com/watch?v=aysceqdGFw8
我们非常感谢您的帮助。
非常感谢。干杯。
答案 0 :(得分:0)
我首先会使用熊猫进行测试:
import pandas as pd
df_r = pd.read_table('./R.csv', header=None) # check if standard delimiter ',' works...
df_n = pd.read_table('./N.csv', header=None) # ... otherwise add e.g. sep='\s+,\s+'
print(df_r[df_r[0].isin(df_n[1])])
也许这是一种已经为您服务的方法。