繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM