【问题标题】:How to delete every X line of a very large data file?如何删除非常大的数据文件的每一 X 行?
【发布时间】:2016-12-18 20:31:24
【问题描述】:

我有一个非常大的 .csv 文件,其中包含 1000 万行数据。文件大小约为 250 MB。每行包含三个值,如下所示:

-9.8199980e-03,183,-4.32

我想删除每第二行或例如将每 10 行直接复制到一个新文件中。我应该使用哪个程序,您也可以发布代码吗?

我用 Scilab 和 Excel 试过了;他们无法打开文件或其中的一小部分。我可以在 Notepad++ 中打开该文件,但是当我尝试记录并运行一个删除每 2 行的宏时,它崩溃了。

【问题讨论】:

  • 你使用的是什么操作系统?

标签: csv notepad++ large-files


【解决方案1】:

我建议您从 here 安装 gawk/awk 并利用这个出色工具的强大功能。

如果你想要每隔一行:

gawk "NR%2" original.csv > new.csv

如果你想要每 10 行:

gawk 'NR%10==0" original.csv > new.csv

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 1970-01-01
    • 2019-12-30
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2015-01-01
    相关资源
    最近更新 更多