2016-09-14 3 views
0

, поэтому у меня есть листок Google, в котором я хочу импортировать квалификационные и гоночные результаты F1 через API ergast.com. Я только после информации о драйверах и позициях из таблицы, но счастлив импортировать всю таблицу, если это проще. Я пробовал IMPORTHTML, IMPORTFEED, IMPORTXML, но независимо от запроса, который я делаю, я не могу генерировать никаких данных (просто N/A).Как импортировать таблицу XML Google Таблицы

Ссылка API для гонки 1: http://ergast.com/api/f1/2016/1/qualifying. URL-адрес находится в ячейке A1.

Я пробовал =IMPORTHTML(A1,"list",0), а также то же самое со столом, но ничего.

Я тоже пробовал определенные xpaths с = IMPORTXML, но, похоже, не могу получить никаких данных.

Пожалуйста, помогите мне в правильном направлении, чтобы помочь импортировать эти данные?

Большое спасибо.

ответ

0

Для импорта XML-файла мы можем использовать IMPORTXML или IMPORTDATA.

Для случая использования IMPORTXML важно отметить исходный файл, если установлен xmlns. На упомянутых исходного файла третью строку,

< MRData XMLNS = "http://ergast.com/mrd/1.4" серия = "f1" URL = "http://ergast.com/api/f1/2016/1/квалификационная»предел = "30" смещение = "0" всего = "22" >

говорят нам, что используется пространство имен (см атрибут XMLNS), поэтому мы должны использовать подстановочные знаки или запрос значений атрибута name.

Поскольку положение является атрибутом элементов имени драйвера, в следующем примере, данные извлекаются с помощью к ImportXML и массивы:

Пример
A1: http://ergast.com/api/f1/2016/1/qualifying
A2: Драйвер
А3 :

={ 
    IMPORTXML(A1,"//*[name()='"&A2&"']/../@position"), 
    IMPORTXML(A1,"//*[name()='"&A2&"']") 
} 

ПРИМЕЧАНИЕ: Некоторые параметры электронных таблиц требуют использования \ вместо , в качестве колонны сепаратора

Результат

+----+--------+----+-----------+------------+------------+------------+ 
| | A | B |  C  |  D  |  E  |  F  | 
+----+--------+----+-----------+------------+------------+------------+ 
| 1 | http://ergast.com/api/f1/2016/1/qualifying  |   | 
| 2 | Driver | |   |   |   |   | 
| 3 | 1  | 44 | Lewis  | Hamilton | 1985-01-07 | British | 
| 4 | 2  | 6 | Nico  | Rosberg | 1985-06-27 | German  | 
| 5 | 3  | 5 | Sebastian | Vettel  | 1987-07-03 | German  | 
| 6 | 4  | 7 | Kimi  | Räikkönen | 1979-10-17 | Finnish | 
| 7 | 5  | 33 | Max  | Verstappen | 1997-09-30 | Dutch  | 
| 8 | 6  | 19 | Felipe | Massa  | 1981-04-25 | Brazilian | 
| 9 | 7  | 55 | Carlos | Sainz  | 1994-09-01 | Spanish | 
| 10 | 8  | 3 | Daniel | Ricciardo | 1989-07-01 | Australian | 
| 11 | 9  | 11 | Sergio | Pérez  | 1990-01-26 | Mexican | 
| 12 | 10  | 27 | Nico  | Hülkenberg | 1987-08-19 | German  | 
| 13 | 11  | 77 | Valtteri | Bottas  | 1989-08-29 | Finnish | 
| 14 | 12  | 14 | Fernando | Alonso  | 1981-07-29 | Spanish | 
| 15 | 13  | 22 | Jenson | Button  | 1980-01-19 | British | 
| 16 | 14  | 30 | Jolyon | Palmer  | 1991-01-20 | British | 
| 17 | 15  | 20 | Kevin  | Magnussen | 1992-10-05 | Danish  | 
| 18 | 16  | 9 | Marcus | Ericsson | 1990-09-02 | Swedish | 
| 19 | 17  | 12 | Felipe | Nasr  | 1992-08-21 | Brazilian | 
| 20 | 18  | 26 | Daniil | Kvyat  | 1994-04-26 | Russian | 
| 21 | 19  | 8 | Romain | Grosjean | 1986-04-17 | French  | 
| 22 | 20  | 21 | Esteban | Gutiérrez | 1991-08-05 | Mexican | 
| 23 | 21  | 88 | Rio  | Haryanto | 1993-01-20 | Indonesian | 
| 24 | 22  | 94 | Pascal | Wehrlein | 1994-10-18 | German  | 
+----+--------+----+-----------+------------+------------+------------+ 
+0

Спасибо вам большое за вашу помощь :) – user1721451

+0

Один быстрый вопрос Рубена. Одной из важных характеристик, которые мне требуются, является ли автомобиль ушел на пенсию или не начал (продиктован R или W в столбце POS после ссылки API). Как я могу вытащить эти конкретные данные? – user1721451

+0

Я не нашел R или W в столбце POS. –

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