如何导入XML表格Google表格

问题描述:

所以我有一个谷歌表,我想通过ergast.com API导入F1资格和比赛结果。我只是从表格中获得驱动程序和位置信息之后,但如果它更容易,则很乐意导入整个表格。我试过IMPORTHTML,IMPORTFEED,IMPORTXML,但无论我做什么查询,我似乎都无法生成任何数据(只是N/A)。如何导入XML表格Google表格

比赛1的API链接是:http://ergast.com/api/f1/2016/1/qualifying。网址位于单元格A1中。我试过=IMPORTHTML(A1,"list",0)也和表一样,但没有。

我已经尝试了特定的xpaths = IMPORTXML,但似乎无法获得任何数据显示。

请有人可以帮助指点我在正确的方向来帮助导入这些数据?

非常感谢。

要导入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属性),因此,我们应该使用通配符或查询名称属性的值。

作为位置是命名驱动元素的属性,在下面的例子中,数据是通过使用以IMPORTXML和检索数组:


A1:http://ergast.com/api/f1/2016/1/qualifying
A2:驱动
A3 :

={ 
    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

一个快速的问题,鲁本。我需要的重要数据之一是汽车是否已经退役或者没有开始(由API链接后的POS栏中的R或W指示)。我怎样才能通过这个特定的数据? – user1721451

+0

我没有在POS栏中找到R或W。 –