【发布时间】:2015-01-01 19:40:57
【问题描述】:
我正在做一个非常简单的操作;打开一个 csv 文件,删除第一列,然后写入一个新文件。以下代码运行良好,但在我的 700 MB 文件上需要 50-60 秒:
import csv
from time import time
#create empty output file
f = open('testnew.csv',"w")
f.close()
t = time()
with open('test.csv',"rt") as source:
rdr= csv.reader( source )
with open('testnew.csv',"a") as result:
wtr= csv.writer( result )
for r in rdr:
del r[0]
_ = wtr.writerow( r )
print(round(time()-t))
相比之下,以下 shell 脚本在 7-8 秒内完成相同的操作:
START_TIME=$SECONDS
cut -d',' -f2- < test.csv > testnew.csv
echo $(($SECONDS - $START_TIME))
有没有办法在 Python 中获得可比的性能?
【问题讨论】:
标签: performance csv python-3.x