我正在使用Matlab代码(和工具箱)以静态和时间序列格式下载一些数据。默认情况下,代码分别在静态和时间序列的.csv文件中给出结果。虽然静态数据很好,但时间序列数据很大,而.csv文件并没有加载所有数据。我尝试将输出文件扩展名更改为.dta,然后也将.mat更改为在Stata或Matlab中查看输出。还尝试编写一个小循环,其中加载到大型.csv文件中的数据可以拆分为同一文件中的两个工作表。但它都没有奏效。虽然我已经习惯了Matlab中的一些基本编码,但我是处理大型数据集的新手。任何有关这方面的帮助将非常感谢。 谢谢你 - Veronica
答案 0 :(得分:0)
如何使用这两个VBScript将CSV文件分成两部分。第一个输出文件(part1.csv
)中将有599,999行,其余位于第二个文件中(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