python下载太慢怎么破_Python:多个文件处理非常慢

为了同步它们的数据,我必须同时阅读2种不同类型的文件.文件以不同的频率并行生成.

文件1的大小将很大(大于10 GB),其结构如下:DATA是一个包含100个字符的字段,其后的数字是两个文件都通用的同步信号(即,它们在在两个文件中同时显示).

DATA 1

DATA 1

... another 4000 lines

DATA 1

DATA 0

... another 4000 lines and so on

较小的文件2(最多10 MB,但数量更多)具有相同的结构,不同之处在于同步信号更改之间的行数:

DATA 1

... another 300-400 lines

DATA 1

DATA 0

... and so on

这是我用来读取文件的代码:

def getSynchedChunk(fileHandler,lastSynch,end_of_file):

line_vector = []; # initialize output array

for line in fileHandler: # iterate over the file

synch = int(line.split(';')[9]); # get synch signal

line_vector.append(line);

if synch != lastSynch: # if a transition is detected

lastSynch = synch; # update the lastSynch variable for later use

return (lastSynch,line_vector,True); # and exit - True = sycnh changed

return (lastSynch,False); # exit if end of file is reached

我必须同步数据块(具有相同同步信号值的行),并将新行写入另一个文件.

我正在使用Spyder.

为了进行测试,我使用了较小的文件,文件1为350 MB,文件2为35 MB.

我还使用内置的探查器查看了花费最多的时间,似乎46秒中的28秒实际上是在从文件中读取数据.其余的用于同步数据和写入新文件.

如果我将时间扩大到以演出为单位的文件,将需要几个小时才能完成处理.我将尝试更改处理方式以使其更快,但是是否有更快的方式来读取大文件?

一行数据如下所示:

01/31/19 08:20:55.886;0.049107050;-0.158385641;9.457415342;-0.025256720;-0.017626805;-0.000096349;0.107;-0.112;0

这些值是传感器测量值.最后一个数字是同步值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值