Чтение числовых значений, содержащихся в двойных кавычках, из файла CSV - PullRequest
0 голосов
/ 25 мая 2018

Я тщетно пытался использовать MATLAB для извлечения данных (чтобы я мог их построить) из таблицы, которая приходит из CSV-файла.CSV-файл отличается от всех, с которыми я сталкивался ранее, и может быть найден здесь: https://www.bis.org/statistics/full_webstats_credit_gap_dataflow_csv.zip

Проблема в том, что в CSV-файле все отмечается, например, двойными кавычками;«Частный нефинансовый сектор», «» или «-57,2».Таким образом, когда я использую функции MATLAB readtable или textscan с table2array для раздела, который содержит только числа, он выводит их как вектор ячеек, например: массив ячеек 1 × 5;'56.6' '57' '57.2' '57.9' '58.3'

И если я затем вызываю отдельную ячейку, она выводит ее как T{1}='56.6', но видит ее как Size 1x4 и Value '56.6' в рабочей области, т.е. MATLAB не видит ее как число 56,6.но коллекция символов.

Может кто-нибудь показать мне, как использовать этот сложный CSV-файл в MATLAB, чтобы я мог отобразить данные, найденные в определенной строке?

Заранее спасибо!

редактировать: я пробовал разные форматы, такие как %q, при использовании readtable или textscan

1 Ответ

0 голосов
/ 25 мая 2018

Есть много способов сделать это, но если вы уже выяснили, как извлечь подмножество (я) массива ячеек, содержащего нужные вам данные, вы можете просто преобразовать это, используя str2double:

>> ca = {'56.1' '13' '12.2' '4.7'}

ca =

  1×4 cell array

    '56.1'    '13'    '12.2'    '4.7'

>> str2double(ca)

ans =

   56.1000   13.0000   12.2000    4.7000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...