2014-08-30 6 views
0

Я загружаю некоторые данные в формате статического и временного ряда, используя коды Matlab (и панели инструментов). Коды выдают результаты по умолчанию в CSV-файле для статических и временных рядов отдельно. Хотя статические данные оказываются точными, данные временных рядов огромны, а CSV-файл не загружает все данные. Я попытался изменить расширение выходного файла на .dta, а затем также .mat, чтобы просмотреть вывод в Stata или Matlab. Также попытался написать небольшой цикл, в котором данные, загруженные в большой файл .csv, можно разделить на два листа в одном файле. Но ничто из этого не сработало. Хотя я привык к некоторому базовому кодированию в Matlab, я новичок в работе с такими большими наборами данных. Любая помощь в этом была бы очень оценена. Thank you- VeronicaВыход из больших .csv файлов, сгенерированных Matlab

+0

Что делать вы имеете в виду, что 'csv-файл не загружает все данные'? Он не содержит всех данных? Вы в файловой системе Windows FAT32, которая не поддерживает файлы более 2 ГБ, может быть? Полная файловая система? Сколько строк содержит csv? Насколько велик ваш выходной файл? В байтах? И в строках? (Используйте 'wc -l file.csv' в Linux) –

+0

csv содержит все данные, но я не могу просмотреть все данные в файле csv из-за ограниченного количества строк. Выходной файл довольно большой с 1135089 строками, а файл csv отображает 1048576 строк. Я не могу просмотреть остальную часть вывода. В байтах файл равен 80 МБ. Пробовал альтернативные способы просмотра полной информации, но не работал. Это не похоже на проблему с файловой системой Windows. Спасибо! -Veronica – Veronica

+0

В чем проблема? У вас есть все данные в CSV, но вы не можете их увидеть - это так? Если да, то какой инструмент вы используете, чтобы попробовать и посмотреть на него? –

ответ

0

Как насчет использования этих двух бит VBScript для разделения файла CSV на 2 части. В первом выходном файле будет 599999 строк (part1.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 
+0

Любая удача в этом? –

Смежные вопросы