【发布时间】:2020-04-10 21:51:44
【问题描述】:
我想用python删除一个巨大的csv文件(3GB)的标题和第一行,性能很好。
import csv
import pandas as pd
def remove2rows(csv_file):
data = pd.read_csv(csv_file)
data = data.iloc[1:]
data.to_csv(csv_file, header=None, index=False)
if __name__ == "__main__":
remove2rows(filename)
此脚本有效,但需要一些时间,可能是因为它读取整个文件并将从第 3 行开始到文件末尾的每一行写入一个新的 csv 文件。
有什么方法可以提高性能吗?
【问题讨论】:
-
不是 Python,但很可能更快:stackoverflow.com/questions/9633114/…
-
嗨,欢迎来到 SO!堆栈溢出可以帮助您处理通常不起作用的代码。如果您正在寻找要审查的代码,并且想了解改进,请查看codereview.stackexchange.com!
-
@petezurich 是的,我也找到了这个网站。我正在尝试在 python 中使用“sed”命令,
import subprocess def testing(filename): cmd = "sed -i '' 1d %s" %filename subprocess.call(cmd, shell=True)错误消息:'sed' 未被识别为内部或外部命令、可运行程序或批处理文件。 -
您是否确定已安装 sed 并且可以从您的 shell 执行?