python中在索引处并行拆分长字符串

python中在索引处并行拆分长字符串,python,string,parsing,Python,String,Parsing,我有很多文件,每个文件都有几百万行;每一行都是一个转储的数据条目,有几百个字符长。行以组的形式出现,前两个字符告诉我行的类型,我用它来解析它。例如,这种结构禁止我将行加载到数据帧中,或者任何其他不能一次一行地加载的行 对于每一行,我当前创建了一个dictionary vals={},然后沿着 VAL{'name'}=行[2:24] vals{'state'}=行[24:26] 我可以用一些简单的方式同时或并行地完成50项作业,而不是按顺序完成50项作业吗 是 VAL{'name'},VAL{'s

我有很多文件,每个文件都有几百万行;每一行都是一个转储的数据条目,有几百个字符长。行以组的形式出现,前两个字符告诉我行的类型,我用它来解析它。例如,这种结构禁止我将行加载到数据帧中,或者任何其他不能一次一行地加载的行

对于每一行,我当前创建了一个dictionary vals={},然后沿着

VAL{'name'}=行[2:24]

vals{'state'}=行[24:26]

我可以用一些简单的方式同时或并行地完成50项作业,而不是按顺序完成50项作业吗

VAL{'name'},VAL{'state'}=行[2:24],行[24:26]


如果我同时为多个条目分配任务,速度会更快吗?我也可以将其重新表述为列表理解。这会比按顺序运行更快吗?

回答您的问题,不,执行多个作业不会加快您的程序。这是因为多重赋值语法只是在不同行上编写多重赋值的不同方式

比如说

vals{'name'},vals{'state'} = row[2:24],row[24:26]
相当于

vals{'name'}= row[2:24]
vals{'state'} = row[2:24]
如果您想优化代码,您应该首先确定花费时间最多的部分。我还要检查以确保您没有对同一个文件进行多次读取,因为与从内存读取相比,这些读取速度非常慢。如果可能的话,您应该先处理它,然后再处理它