这是我在Python工作的第二天.我在C++中工作了一段时间,但决定尝试使用Python.我的程序按预期工作.但是,当我在没有glob循环的情况下一次处理一个文件时,每个文件大约需要半个小时.当我包含glob时,循环大约需要12个小时来处理8个文件.
我的问题是,我的程序中有什么东西肯定会减慢它的速度吗?有什么我应该做的让它更快?
我有一个大文件夹.例如
file1.txt(6gb)file2.txt(5.5gb)file3.txt(6gb)
如果它有帮助,每行数据都以一个字符开头,该字符告诉我其余字符是如何格式化的,这就是我拥有所有if elif语句的原因.一行数据如下所示:T35201 M352 RZNGA AC
我试图读取每个文件,使用拆分进行一些解析,然后保存文件.
计算机有32GB的ram,所以我的方法是将每个文件读入ram,然后遍历文件,然后保存,清除RAM用于下一个文件.
我已经包含了该文件,因此您可以看到我正在使用的方法.我使用if elif语句,它使用大约10个不同的elif命令.我曾经尝试过一本字典,但我无法理解为了挽救我的生命.
任何答案都会有所帮助.
import csv
import glob
for filename in glob.glob("/media/3tb/5may/*.txt"):
f = open(filename,'r')
c = csv.writer(open(filename + '.csv','wb'))
second=0
mill=0
for line in f.readlines():
#print line
event=0
ticker=0
marketCategory=0
variable = line[0:1]
if variable is 'T':
second = line[1:6]
mill=0
else:
second = second
if variable is 'R':
ticker = line[1:7]
marketCategory = line[7:8]
elif variable is ...
elif variable is ...
elif ...
elif ...
elif ... …Run Code Online (Sandbox Code Playgroud)