2016-07-14 2 views
1

В попытке нормализовать названия компаний по нескольким базам данных я обнаружил, что могу перекрестно ссылаться на названия компаний с помощью API финансов Yahoo и получать последовательное именование по всем направлениям.Взаимодействие с IMPORTDATA от Yahoo Finance

Я использую

=Transpose(ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=n")) 

Но что отделяет каждое слово в другой столбец, поэтому я должен Соединить вывод в другой колонке, используя следующее:

=TRIM(CONCATENATE(F2," ",G2," ",H2," ",I2," ",J2," ",V2)) 

Есть способ сделать все это за один раз? Я пробовал использовать «мин», который просто выводит «0». Мысли? Я ценю вашу помощь.

+1

Я не вижу «отделяет каждое слово в другой колонке» с пару символов запаса, которые я пробовал. Пожалуйста, дайте автономный пример, который воспроизводит проблему. –

+0

Я создал фиктивный набор данных [HERE] (https://docs.google.com/spreadsheets/d/1gZnaWnNZvcAO7IvuWnx7x-HWHFbs9KltpTtFW3xPL54/edit?usp=sharing) и попытался объяснить проблемы в каждом столбце запиской. Я ранее пытался нормализовать эти компании с помощью Regex, но я просто не мог получить что-либо достаточно точное для моего общего списка> 10 000 компаний. –

ответ

1

Используйте join, чтобы объединить выходные данные импорта. Transpose становится ненужным, потому что соединение также работает со столбцами.

=join(" ", ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=s")) 

Или, если вам нужно обрезать ее в конце (не представляется необходимым в ваших примерах),

=trim(join(" ", ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=s"))) 
+0

Кстати, если у вас есть лучший способ нормализации имен, я бы хотел услышать Это. Я добавлю еще несколько имен компаний в фиктивные данные. Как было сказано выше, он слишком усложнился с Regex (который я достаточно хорош), поэтому я подумал, что это будет лучший вариант, даже если он очень медленный. –

+1

Я бы использовал их символ запаса как идентификатор: MSFT, AAPL и т. Д. –

+0

Я должен, вероятно, объяснить это более подробно. Я использую FTP-сервер NASDAQ/NYSE, чтобы получить список каждой публичной компании, торгующей на этих биржах (включая тикеры). Затем у меня есть ряд наборов данных с отдельной информацией об этих компаниях, но эти наборы данных не имеют тикеров. Я хочу интегрировать эти наборы данных, но что-то вроде QUERY или VLookup не будет работать достаточно хорошо, если я не нормализую эти имена партий и не объединим данные. В будущем я бы хотел включить дочерние компании, но я понимаю, что это приводит к совершенно новому уровню сложности. –