Python多线程或多进程解析文本数据
我有一个巨大的(>1GB的文本文件),我想解析并转换成更小的文件 我的文本文件如下所示:Python多线程或多进程解析文本数据,python,parsing,parallel-processing,python-multiprocessing,python-multithreading,Python,Parsing,Parallel Processing,Python Multiprocessing,Python Multithreading,我有一个巨大的(>1GB的文本文件),我想解析并转换成更小的文件 我的文本文件如下所示: Iteration column1 column2 .... column 10k 1 data_1_1 data_1_2 data_1_10k 2 data_2_1 data_2_2 data_2_10k ... 10k data_10k_1 data_10k_2 data
Iteration column1 column2 .... column 10k
1 data_1_1 data_1_2 data_1_10k
2 data_2_1 data_2_2 data_2_10k
...
10k data_10k_1 data_10k_2 data_10k_10k
我想解析此文本文件并将其转换为10k CSV文件,其中每个CSV文件将包含以下数据:
Iteration, column
1, data_1
2, data_2
...,
10k, data_10k
我正在寻找用python实现这一点的最快方法。是否可以将其并行化为10k块?我认为,如果您的文件“格式良好”,则可以轻松使用
numpy
函数加载文本文件块。使用np.loadtxt()
可以设置要跳过的行数和要读取的行数。通过这种方式,您可以设置一个简单的for循环,分块读取文件并写入另一个文件
如果希望使用
多处理
,则必须编写一个函数来读取文本文件的一块并保存它。然后,使用pool.map()
-或pool.apply_async()
-方法,您可以以与上述类似的方式迭代文件,但使用多处理
-模块。这是否回答了您的问题?请对GB使用GB
。。。。