我有一个大型 json 文件(250 Mb),在记事本或 SAS 中打开文件时没有换行符。但是如果我在写字板中打开它,我会得到正确的换行符。我想这可能意味着 json 文件使用 unix 换行符,notapad 无法读取,但 wordpad 可以从我读过的内容中读取。
我需要将文件导入 SAS。这样做的一种方法是在写字板中打开文件,将其保存为文本文件,希望保留正确的换行符,以便我可以在 SAS 中读取文件。我已经尝试读取文件,但是没有换行符,我只能得到第一个观察结果,我无法让程序找到下一个观察结果。
我曾尝试让写字板保存文件,但写字板每次都会崩溃,可能是因为文件大小。还尝试通过powershell执行此操作,但无法弄清楚打开文件后如何保存文件,而且当我通过指向并单击尝试它时,我看不出它为什么应该工作,因为写字板崩溃了。
有没有另一种方法来修复这个 json 文件?有没有办法查看换行符的unix代码并将其替换为windows换行符或类似的东西?
编辑:我尝试TERMSTR=LF
在文件名和 infile 中添加选项,但没有任何运气:
filename test "C:\path";
data datatest;
infile test lrecl = 32000 truncover scanover TERMSTR=LF;
input @'"Id":' ID $9.;
run;
但是,如果我手动编辑文件的一小部分以换行,它就可以工作。该TERMSTR
选项似乎对我没有多大作用
编辑2:使用解决RECFM=F
data datatest;
infile test lrecl = 42000 truncover scanover RECFM=F ;
input @'"Id":' ID $9.;
run;
编辑3:结果它毕竟没有解决问题。RECFM=F
意味着所有记录都有固定的长度,但它们没有,所以我的数据被混淆了,很多信息被跳过了。试过了RECFM=V(ariable)
,但这也不起作用。