Чтение даты и времени из файла CSV в MATLAB

Многие ответы здесь указывают, что два подхода производят тот же вывод и что выбором является один из стиля кодирования и производительности. Кажется его верившим что статическое содержание за пределами < % %> становится единственным Ответом. Записать.

Однако это было бы больше с точностью до, говорит код снаружи < % %> отправляется с BinaryWrite.

Ответ. Запишите берет строку Unicode и кодирует его к текущему Ответу. CodePage прежде, чем поместить его в буфер. Никакое такое кодирование не происходит для статического содержания в файле ASP. Символы снаружи < % %> выводится дословный байт для байта в буфер.

Следовательно, где Ответ. CodePage отличается, чем CodePage, который использовался, чтобы сохранить файл ASP, результаты двух подходов могут отличаться.

, Например, позволяет, говорят, что мне сохранили это содержание в стандартном page:-

<%
     Response.CodePage = 65001
     Response.CharSet = "UTF-8"
 %>
<p> The British £</p>
<%Response.Write("<p> The British £</p>")%>

кода 1252 года, первый абзац искажен, так как ВЈ не будет отправлен с помощью кодировки UTF-8, второе прекрасно, потому что предоставленная строка Unicode кодируется к UTF-8.

Следовательно с точки зрения производительности с помощью статического содержания предпочтительно, так как ему не нужно кодирование, но уход необходим, если сохраненная кодовая страница отличается от выходной кодовой страницы. Поэтому я предпочитаю сохранять как UTF-8, включать < % codepage=65001 и Ответ набора. Набор символов = "UTF-8".

10
задан Amro 28 August 2012 в 12:14
поделиться

2 ответа

Согласно вашему комментарию выше, если данные выглядят так:

datetime, M01, M02, M03, M04, M05, M06
8/15/2009 0:00, 5.8, 7.8, 7.8, 7.3, 0, 7.9
8/15/2009 0:10, 7.1, 8.1, 8.1, 7.7, 0, 8.1
8/15/2009 0:20, 6.8, 7.4, 7.6, 7.1, 0, 7.3
8/15/2009 0:30, 5.6, 6.8, 7.1, 6.6, 0, 6.8
8/15/2009 0:40, 3.9, 6.2, 6.4, 6.2, 0, 6.4
8/15/2009 0:50, 4.6, 5.5, 6.1, 5.8, 0, 5.6
8/15/2009 1:40, 7, 7 7.2, 6.9, 0, 6.3

, используйте следующее, чтобы прочитать их как матрицу:

fid = fopen('file.csv', 'rt');
a = textscan(fid, '%s %f %f %f %f %f %f', ...
      'Delimiter',',', 'CollectOutput',1, 'HeaderLines',1);
fclose(fid);

format short g
M = [datenum(a{1}) a{2}]

... и результат, который я получаю:

M =
    7.34e+005        5.8        7.8        7.8        7.3          0        7.9
    7.34e+005        7.1        8.1        8.1        7.7          0        8.1
    7.34e+005        6.8        7.4        7.6        7.1          0        7.3
    7.34e+005        5.6        6.8        7.1        6.6          0        6.8
    7.34e+005        3.9        6.2        6.4        6.2          0        6.4
    7.34e+005        4.6        5.5        6.1        5.8          0        5.6
    7.34e+005          7          7        7.2        6.9          0        6.3

, если вы установите формат отображения на длинный вывод, вы увидите полные числа (обратите внимание, что они все еще сохраняются полностью) или используйте fprintf :

fprintf('%.9f\n', M(:,1))
734000.000000000
734000.006944445
734000.013888889
734000.020833333
734000.027777778
734000.034722222
734000.069444445
15
ответ дан 3 December 2019 в 21:22
поделиться

Нашел ответ, возможно:

air.File.applicationStorageDirectory.spaceAvailable

Это ведь было в документации. RTFM.

http://help.adobe.com/en_US/AIR/1.

2
ответ дан 3 December 2019 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: