我有一个巨大的csv文件,其中包含XYZ坐标的数百万行。我需要为其添加一个枚举。 Adding a tab in front并不是问题,找到the column editor in Notepad++确实可以完成这项工作也不是问题。
但是,如果我对包含所有360万行的文件执行此操作,则Notepad ++会在一个小时后自动关闭,而没有任何崩溃通知(在此处获得112 GB的RAM)。如果我将文件分割成100万行的倍数,则记事本大约需要一两个小时才能产生一些不可复制的垃圾:
在某些时候添加了行号(但由于跳过了许多数字而错误地添加了行号),在某种程度上,格式完全被破坏并且与坐标混乱了),但看起来却是随机的。一切都很好,直到大约1500ish左右。知道如何在不编写脚本的情况下解决此问题吗?文件也不是那么大(也许60 MB)。
答案 0 :(得分:1)
如果受可运行软件的限制,请尝试使用批处理文件。
@echo off
setlocal enabledelayedexpansion
set I=0
for /f "tokens=*" %%a in (myfile_in.txt) do (
set /A I=I+1
echo !I! %%a>>myfile_out.txt
)
(注意:回显行上的!I!
之后应该有一个选项卡)
请记住,这不会很快。我用3M行(〜182MB)的文件做了一个简单的测试,整个过程花了大约18分钟。
另外,关于notepad ++问题:我也可以在这里重现它。我什至不需要使用列编辑器。仅选择3M行并按TAB即可“破坏”文件。