从Matlab生成的大型.csv文件的输出

时间:2014-08-30 21:43:52

标签: matlab csv

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

1 个答案:

答案 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