[英]Output from large .csv files generated by Matlab
我正在使用Matlab代码(和工具箱)以静态和时间序列格式下载一些数据。 默认情况下,代码在.csv文件中分别针对静态和时间序列给出结果。 尽管静态数据很好,但是时间序列数据非常庞大,.csv文件无法加载所有数据。 我尝试将输出文件扩展名更改为.dta,然后也更改为.mat,以便在Stata或Matlab中查看输出。 还尝试编写一个小循环,其中可以将加载到大型.csv文件中的数据拆分为同一文件内的两个工作表。 但是没有一个有效。 尽管我已经习惯了Matlab的一些基本编码,但是对于处理如此大的数据集我还是陌生的。 任何帮助,将不胜感激。 谢谢你-维罗妮卡
如何使用VBScript的这两位将CSV文件分为2个部分。 第一个输出文件( part1.csv
)中将有599,999行,第二个文件( part2.csv
)中将有其余的part2.csv
。
将此另存为part1.vbs
Set fso = CreateObject ("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream (1)
LineNum=1
Do While Not WScript.StdIn.AtEndOfStream
REM Read in next line of input
Line = WScript.StdIn.ReadLine()
If LineNum<600000 Then
stdout.WriteLine(Line)
End If
LineNum=LineNum+1
Loop
将此另存为part2.vbs
Set fso = CreateObject ("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream (1)
LineNum=1
Do While Not WScript.StdIn.AtEndOfStream
REM Read in next line of input
Line = WScript.StdIn.ReadLine()
If LineNum>=600000 Then
stdout.WriteLine(Line)
End If
LineNum=LineNum+1
Loop
然后,您可以在命令提示符处执行此操作,将文件分成两部分:
cscript /nologo part1.vbs YourFile.CSV > part1.csv
cscript /nologo part2.vbs YourFile.CSV > part2.csv
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.