Імпарт дадзеных з PDF у Excel праз Power Query

Задача пераносу даных з электроннай табліцы ў файле PDF на аркуш Microsoft Excel заўсёды «забаўная». Асабліва, калі ў вас няма дарагога праграмнага забеспячэння для распазнання, напрыклад FineReader ці чагосьці падобнага. Прамое капіраванне звычайна ні да чаго добрага не прыводзіць, т.к. пасля ўстаўкі скапіяваных дадзеных на ліст яны, хутчэй за ўсё, «зліпнуцца» ў адзін слупок. Такім чынам, потым іх трэба будзе карпатліва аддзяліць з дапамогай інструмента Тэкст па слупках з таб Дата (Дадзеныя — тэкст у слупкі).

І, вядома, капіраванне магчыма толькі для тых PDF-файлаў, дзе ёсць тэкставы пласт, гэта значыць з толькі што адсканаваным дакументам з паперы ў PDF гэта не атрымаецца ў прынцыпе.

Але гэта не так сумна, сапраўды 🙂

Калі ў вас Office 2013 або 2016, то за пару хвілін, без дадатковых праграм, цалкам рэальна перанесці дадзеныя з PDF ў Microsoft Excel. А дапамогуць нам у гэтым Word і Power Query.

Напрыклад, давайце возьмем гэты PDF-справаздачу з кучай тэксту, формул і табліц з вэб-сайта Еўрапейскай эканамічнай камісіі:

Імпарт дадзеных з PDF у Excel праз Power Query

... і паспрабуйце атрымаць з яго ў Excel, скажам, першую табліцу:

Імпарт дадзеных з PDF у Excel праз Power Query

Пойдзем!

Крок 1. Адкрыйце PDF у Word

Чамусьці мала хто ведае, але з 2013 года Microsoft Word навучыўся адкрываць і распазнаваць файлы PDF (нават адсканаваныя, гэта значыць без тэкставага пласта!). Робіцца гэта цалкам стандартным спосабам: адкрываем Word, націскаем Файл - Адкрыць (Файл — Адкрыць) і пакажыце фармат PDF у выпадальным спісе ў правым ніжнім куце акна.

Затым выбіраем патрэбны нам файл PDF і націскаем адкрыты (Адкрыта). Word паведамляе нам, што ён збіраецца запусціць OCR на гэтым дакуменце ў тэкст:

Імпарт дадзеных з PDF у Excel праз Power Query

Мы згаджаемся і праз некалькі секунд мы ўбачым наш PDF, адкрыты для рэдагавання ўжо ў Word:

Імпарт дадзеных з PDF у Excel праз Power Query

Вядома, дызайн, стылі, шрыфты, верхнія і ніжнія калонтытулы і г.д. будуць часткова злятаць з дакумента, але для нас гэта не важна - патрэбны толькі дадзеныя з табліц. У прынцыпе, на гэтым этапе ўжо ёсць спакуса проста скапіяваць табліцу з распазнанага дакумента ў Word і проста ўставіць яе ў Excel. Часам гэта працуе, але часцей за ўсё гэта прыводзіць да рознага роду скажэнняў дадзеных - напрыклад, лічбы могуць ператварыцца ў даты або застацца тэкстам, як у нашым выпадку, т.к. PDF выкарыстоўвае непадзельнікі:

Імпарт дадзеных з PDF у Excel праз Power Query

Так што давайце не будзем зразаць куты, а зробім усё крыху больш складана, але правільна.

Крок 2: захавайце дакумент як вэб-старонку

Каб затым загрузіць атрыманыя дадзеныя ў Excel (праз Power Query), наш дакумент у Word неабходна захаваць у фармаце вэб-старонкі - гэты фармат у дадзеным выпадку з'яўляецца нейкім агульным назоўнікам Word і Excel.

Для гэтага зайдзіце ў меню Файл - Захаваць як (Файл — Захаваць як) або націсніце клавішу F12 на клавіятуры і ў якое адкрылася акне абярыце тып файла Вэб-старонку адным файлам (Вэб-старонка — адзін файл):

Імпарт дадзеных з PDF у Excel праз Power Query

Пасля захавання вы павінны атрымаць файл з пашырэннем mhtml (калі вы бачыце пашырэнні файлаў у правадыру).

Этап 3. Загрузка файла ў Excel праз Power Query

Створаны файл MHTML можна адкрыць у Excel напрамую, але тады мы атрымаем, па-першае, усё змесціва PDF адразу, разам з тэкстам і кучай непатрэбных табліц, а, па-другое, мы зноў страцім дадзеныя з-за няправільнага сепаратары. Такім чынам, мы будзем рабіць імпарт у Excel праз надбудову Power Query. Гэта абсалютна бясплатная надбудова, з дапамогай якой вы можаце загружаць дадзеныя ў Excel практычна з любых крыніц (файлаў, тэчак, баз дадзеных, ERP-сістэм), а затым усяляк трансфармаваць атрыманыя дадзеныя, надаючы ім патрэбную форму.

Калі ў вас Excel 2010-2013, то вы можаце спампаваць Power Query з афіцыйнага сайта Microsoft - пасля ўстаноўкі вы ўбачыце ўкладку Запыт на харчаванне. Калі ў вас Excel 2016 або больш позняй версіі, то спампоўваць нічога не трэба - увесь функцыянал ужо ўбудаваны ў Excel па змаўчанні і знаходзіцца на ўкладцы Дата (Дата) у групе Спампаваць і канвертаваць (Атрымаць і трансфармаваць).

Такім чынам, мы пераходзім альбо да ўкладкі Дата, або на ўкладцы Запыт на харчаванне і выбраць каманду Каб атрымаць дадзеныя or Стварыць запыт - з файла - з XML. Каб зрабіць бачнымі не толькі файлы XML, змяніце фільтры ў выпадальным спісе ў правым ніжнім куце акна на Усе файлы (Усе файлы) і пакажыце наш файл MHTML:

Імпарт дадзеных з PDF у Excel праз Power Query

Звярніце ўвагу, што імпарт не завершыцца паспяхова, таму што. Power Query чакае ад нас XML, але на самой справе ў нас ёсць фармат HTML. Такім чынам, у наступным якое з'явілася акне трэба будзе клікнуць правай кнопкай мышы на незразумелым для Power Query файле і пазначыць яго фармат:

Імпарт дадзеных з PDF у Excel праз Power Query

Пасля гэтага файл будзе правільна распазнаны, і мы ўбачым спіс усіх табліц, якія ў ім утрымліваюцца:

Імпарт дадзеных з PDF у Excel праз Power Query

Прагледзець змесціва табліц можна, пстрыкнуўшы левай кнопкай мышы на белым фоне (не ў слове Табліца!) вочак у слупку Даныя.

Калі патрэбная табліца вызначана, націсніце на зялёнае слова табліца – і вы «праваляецеся» ў яго змест:

Імпарт дадзеных з PDF у Excel праз Power Query

Засталося зрабіць некалькі простых крокаў, каб «прычасаць» яго змесціва, а менавіта:

  1. выдаліць непатрэбныя слупкі (пстрыкніце правай кнопкай мышы на загалоўку слупка – Выдаленне)
  2. замяніць кропкі коскамі (выберыце слупкі, пстрыкніце правай кнопкай мышы – Замена значэнняў)
  3. выдаліць знакі роўнасці ў загалоўку (выберыце слупкі, пстрыкніце правай кнопкай мышы - Замена значэнняў)
  4. выдаліць верхні радок (Галоўная – Выдаліць радкі – Выдаліць верхнія радкі)
  5. выдаліць пустыя радкі (Галоўная – Выдаліць радкі – Выдаліць пустыя радкі)
  6. падняць першы радок да загалоўка табліцы (Дадому - выкарыстоўваць першы радок у якасці загалоўкаў)
  7. адфільтраваць непатрэбныя дадзеныя з дапамогай фільтра

Калі табліца прыведзена ў нармальны выгляд, яе можна выгрузіць на ліст камандай зачыніць і спампаваць (Зачыніць і загрузіць) on Галоўная укладка. І атрымаецца такая прыгажосць, з якой можна ўжо працаваць:

Імпарт дадзеных з PDF у Excel праз Power Query

  • Пераўтварэнне слупка ў табліцу з дапамогай Power Query
  • Падзяленне ліпкага тэксту на слупкі

Пакінуць каментар