2015-10-20 12 views
0

У меня есть файл csv, включая столбец временной метки. В «Блокноте», в Excel и в Matlab значение отображается в научном формате, например. '1,44532E + 12'. Таким образом, значение очень неточно. В Excel я могу рассчитать разницу между двумя значениями и получить разумную разницу. Таким образом, научный формат в Excel - это просто формат. Фактическое содержимое ячейки - «1445322672767».Чтение метки времени в мс от csv, показывая в научном формате в Matlab

Я озадачен, почему значение отображается как «1,44532E + 12» в «Блокноте». Но это не моя проблема. Я пытаюсь проанализировать данные в Matlab, но я не могу. Я пробовал textscan, readtable и csvread. Но я не могу получить значение, отличное от строки. С str2num это можно изменить на двойную, но только с 6-значной точностью (что совершенно бесполезно).

Любые предложения?

+0

Не могли бы вы предоставить ссылку на свой файл? Каков исходный формат данных? Вы начинаете в Excel и записываете csv-файл? Или у вас есть файл csv, который вы читаете в Excel? – Schorsch

+2

Похоже, что исходный файл поступает из Excel и экспортируется в ограниченной нотации, которую вы описываете. Имейте в виду, что после экспорта данные __precision постоянно теряются. Это не вопрос «textscan» и т. Д. Или программа, которую вы используете для открытия экспортируемого файла. С самого начала вам нужно __export с полной точностью__. См. [Этот вопрос @ microsoft] (http://answers.microsoft.com/en-us/office/forum/office_2007-excel/interesting-excel-behavior-csv-numerical-accuracy/28543e16-78e9-4afe-ae64- f9bb412c9039) –

+0

Спасибо! Файл поступает из приложения Android Wahoo Fitness. Существует один для педальной каденции и один для колесных оборотов. Вот файл педальной каденции: https://dl.dropboxusercontent.com/u/40762003/20151020_0830_Cycling.BikeCad.csv –

ответ

1

Я знаю, что это старая нить, но если кому-то нужна информация. В csv-файлах, которые я получаю от Wahoo на тренировках HR и GPS-данных, отметка времени является Unix, поскольку я полагаю, что сотни секунд добавлены 13 цифр. Поэтому я извлекаю первые 10 для преобразования в Windows.

=LEFT(A1, 10)/86400 + 25569 + 2/24

Но Wahoo отдаляется от TCX и CSV файлов и ошибок в них не будет приоритетом для исправления. .FIT - это то, что «все» используют сейчас. Я с ними контактировал. Я только что закончил автоматизацию для TCX в Excel, но в последнем обновлении Android HR и других данных было испорчено, и они не будут исправлены.

«Файлы CSV и TCX по-прежнему будут поддерживаться не так, как поддерживаются, как файлы Fit, но CSV будет делать трюк и будет придерживаться в течение довольно долгого времени, я уверен».

Но в thisisant.com SDK (Java-часть) есть пакетные файлы перетаскивания для преобразования .fit двоичных файлов в csv-файлы. Требовать, конечно, что Java установлена.