Импортирайте данни от 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 (ако виждате файлови разширения в Explorer).

Етап 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
  • Разделяне на лепкав текст в колони

Оставете коментар