在多列中应用相同的逻辑-多重处理

时间:2018-07-12 09:46:18

标签: python python-3.x multithreading python-requests subprocess

我是python的新手,我要求处理类似以下的列

源数据:

John|100|john@gmail.com|London
Harvey|200|Harvey@gmail.com|Cork

我正在第3列和第4列执行相同的操作(这会有所不同)。在这种情况下,我将“ o”替换为一些“ Z”

输出数据:

John|100|jZhn@gmail.com|LZndZn
Harvey|200|Harvey@gmail.cZm|CZrk

所以我尝试过

noofattributes=[3,4]
actual1= 'o'
replace1 = 'Z'
with open('newinfile.txt') as inf, open('outfile.txt', 'w') as outf:


   for line in inf:
      items = line.strip().split('|')

      for column in noofattributes:
           items[column] = items[column].translate(str.maketrans( actual1, replace1))

      toBeWritten.append('|'.join(items))
      outf.writelines(toBeWritten)
      outf.writelines("\n")

上面的代码工作正常。但这是顺序处理。我正在寻找一种并行运行的方法,即同时处理第3列和第4列,并在最后合并结果。请帮我这个。

我正在处理的文件为100 GB,需要修改的列从10变为20。当前代码较慢。

0 个答案:

没有答案