Вы хотите импортировать выборочные данные «по стране» из указанной c части веб-сайта в таблицы Google - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь импортировать некоторые данные с веб-сайта IATA в Google Spreadsheet / Excel. Я пытался использовать метод XCOPY, но эта страница постоянно обновляется, и электронная таблица в конечном итоге выдает ошибку «N / A».

googlesheets error

Я в основном хочу, чтобы электронная таблица импортировала указанные c данные страны в ячейку (и) моего листа. Я хочу, чтобы он указывал страну c.

Например, я хочу импортировать только данные КОСТА-РИКА или данные КАНАДЫ с этого веб-сайта, как показано ниже, в мою электронную таблицу,

Example

Ниже приводится ссылка на таблицу, которую я редактирую: https://docs.google.com/spreadsheets/d/1anrXXHuVtuP3iCDBsX8GcP7egDBmA75eeG4-wa1ov7E/edit#gid = 1624254662

Ответы [ 2 ]

1 голос
/ 24 марта 2020

для всего списка:

=INDEX(TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div/div/div/div/div/div/div/div")),,1)

для использования в Канаде:

=QUERY(QUERY(INDEX(TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div/div/div/div/div/div/div/div")),,1), "limit "&
 MATCH("CAYMAN ISL.", INDEX(TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div/div/div/div/div/div/div/div")),,1), 0)-
 MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div/div/div/div/div/div/div/div")),,1), 0)&" offset "&
 MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div/div/div/div/div/div/div/div")),,1), 0)-1, 0), "where Col1 is not null", 0)

enter image description here


для Коста Изменение рики:

  • CANADA до COSTA RICA
  • CAYMAN ISL. до COTE D'IVOIRE

ОБНОВЛЕНИЕ:

полный список:

=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
  //div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
  //div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
  //div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
  //div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
  //div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
  //div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
 ,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0))

часть:

=ARRAYFORMULA(QUERY(
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
  //div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
  //div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
  //div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
  //div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
  //div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
  //div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
 ,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), "limit "&
 MATCH("PALAU",
 QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
  //div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
  //div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
  //div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
  //div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
  //div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
  //div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
 ,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-
 MATCH("PAKISTAN",
 QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
  //div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
  //div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
  //div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
  //div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
  //div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
  //div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
 ,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)&" offset "&
 MATCH("PAKISTAN",
 QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 "//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
  //div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
  //div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
  //div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
  //div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
  //div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
  //div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
 ,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-1, 0))

0

демонстрационная таблица


более короткая формула:

=ARRAYFORMULA(QUERY(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))), 
 "where Col1 !=''", 0), "limit "&
 MATCH("PALAU", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
 "where Col1 !=''", 0), 0)-
 MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
 "where Col1 !=''", 0), 0)&" offset "&
 MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
 "https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm", 
 JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
 "where Col1 !=''", 0), 0)-1, 0))
0 голосов
/ 29 марта 2020

Подход XPath (один для списка стран, один для данных для каждой страны + 2 для определенных c стран): iata

https://docs.google.com/spreadsheets/d/1_sKRvmsSxQ9tiU0aDOQc9wVxC2ZhMO8488jcKZVlN94/edit?usp=sharing

Окончательный результат в столбце F.

...