如何导入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 |
+----+--------+----+-----------+------------+------------+------------+
谢谢你这么多的帮助:) – user1721451
一个快速的问题,鲁本。我需要的重要数据之一是汽车是否已经退役或者没有开始(由API链接后的POS栏中的R或W指示)。我怎样才能通过这个特定的数据? – user1721451
我没有在POS栏中找到R或W。 –