Help Needed with Extracting Data from PDF to Excel in Matillion
"Basnuevo, Carlos via Tutor" <[email protected]> Fri, 7 Mar 2025 14:35:23 -0500
| Newsgroups | gmane.comp.python.tutor |
|---|---|
| Message-ID | <CAHKj5zTaC3RW+QQghYrPXJCH+VhHV56n4e+WcfuyQ-nd9QG0oQ@mail.gmail.com> |
--0000000000000646a6062fc5ba03 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, I=E2=80=99ve hit a roadblock and could really use some help. I=E2=80=99m wo= rking on creating a script in Matillion to extract data from a PDF and insert it into Excel. However, my challenge is that I need to retain the same structure from the PDF in the Excel sheet=E2=80=94this includes the columns= , headings, and spacing. I=E2=80=99ve attached both the script I=E2=80=99ve been working on and a sa= mple PDF. Despite my efforts, I=E2=80=99m unable to maintain the layout correctly in = the Excel output. I would really appreciate any guidance or suggestions on how to resolve this issue. Looking forward to your feedback! *Carlos Basnuevo* Audience Systems Analyst Administration 305-376-3326 [email protected] mcclatchy.com <https://mcclatchy.com/> --0000000000000646a6062fc5ba03 Content-Type: text/plain; charset="US-ASCII"; name="phython script.txt" Content-Disposition: attachment; filename="phython script.txt" Content-Transfer-Encoding: base64 Content-ID: <f_m7z6aspd0> X-Attachment-Id: f_m7z6aspd0 IyMjDQojIFZhcmlhYmxlcyBhcmUgZGlyZWN0bHkgYWNjZXNzaWJsZTogDQojICAgcHJpbnQgKG15 dmFyKQ0KIyBVcGRhdGluZyBhIHZhcmlhYmxlOg0KIyAgIGNvbnRleHQudXBkYXRlVmFyaWFibGUo J215dmFyJywgJ25ldy12YWx1ZScpDQojIEdyaWQgVmFyaWFibGVzIGFyZSBhY2Nlc3NpYmxlIHZp YSB0aGUgY29udGV4dDoNCiMgICBwcmludCAoY29udGV4dC5nZXRHcmlkVmFyaWFibGUoJ215Z3Jp ZHZhcicpKQ0KIyBVcGRhdGluZyBhIGdyaWQgdmFyaWFibGU6DQojICAgY29udGV4dC51cGRhdGVH cmlkVmFyaWFibGUoJ215Z3JpZHZhcicsIFtbJ2xpc3QnLCdvZiddLFsnbGlzdHMnLCchJ11dKQ0K IyBBIGRhdGFiYXNlIGN1cnNvciBjYW4gYmUgYWNjZXNzZWQgZnJvbSB0aGUgY29udGV4dCAoSnl0 aG9uIG9ubHkpOg0KIyAgIGN1cnNvciA9IGNvbnRleHQuY3Vyc29yKCkNCiMgICBjdXJzb3IuZXhl Y3V0ZSgnc2VsZWN0IGNvdW50KCopIGZyb20gbXl0YWJsZScpDQojICAgcm93Y291bnQgPSBjdXJz b3IuZmV0Y2hvbmUoKVswXQ0KIyMjDQppbXBvcnQgYm90bzMNCmltcG9ydCBvcw0KaW1wb3J0IHBk ZnBsdW1iZXINCmltcG9ydCBvcGVucHl4bA0KZnJvbSBvcGVucHl4bC51dGlscyBpbXBvcnQgZ2V0 X2NvbHVtbl9sZXR0ZXINCmZyb20gb3BlbnB5eGwuc3R5bGVzIGltcG9ydCBBbGlnbm1lbnQNCg0K IyBBV1MgUzMgQ29uZmlndXJhdGlvbg0KQVdTX1JFR0lPTiA9ICJ1cy1lYXN0LTEiICAjIFVwZGF0 ZSB0byB5b3VyIEFXUyByZWdpb24NCkJVQ0tFVF9OQU1FID0gIm1jYy1hdWRpZW5jZS1kaWFnbm9z dGljcyINClMzX0lOUFVUX0ZPTERFUiA9ICJNYXRpbGxpb25Qcm9qZWN0RGF0YS9VU0FUb2RheWJp bGxpbmcvIg0KUzNfT1VUUFVUX0VYQ0VMID0gIk1hdGlsbGlvblByb2plY3REYXRhL1VTQVRvZGF5 YmlsbGluZy91c2F0b2RheXBkZl9jb252ZXJ0ZWQvdXNhX2JpbGxpbmcueGxzeCINCg0KTE9DQUxf UERGX1BBVEggPSAiL3RtcC9wZGZzLyINCkxPQ0FMX0VYQ0VMX1BBVEggPSAiL3RtcC91c2FfYmls bGluZy54bHN4Ig0KDQojIEVuc3VyZSBsb2NhbCBkaXJlY3RvcnkgZXhpc3RzDQpvcy5tYWtlZGly cyhMT0NBTF9QREZfUEFUSCwgZXhpc3Rfb2s9VHJ1ZSkNCg0KIyBJbml0aWFsaXplIEFXUyBTMyBj bGllbnQNCnMzX2NsaWVudCA9IGJvdG8zLmNsaWVudCgiczMiLCByZWdpb25fbmFtZT1BV1NfUkVH SU9OKQ0KDQpkZWYgZG93bmxvYWRfcGRmX2Zyb21fczMoYnVja2V0LCBzM19rZXksIGxvY2FsX3Bh dGgpOg0KICAgICIiIiBEb3dubG9hZCBhIFBERiBmcm9tIFMzIHRvIGxvY2FsIHN0b3JhZ2UgIiIi DQogICAgdHJ5Og0KICAgICAgICBsb2NhbF9maWxlID0gb3MucGF0aC5qb2luKGxvY2FsX3BhdGgs IG9zLnBhdGguYmFzZW5hbWUoczNfa2V5KSkNCiAgICAgICAgczNfY2xpZW50LmRvd25sb2FkX2Zp bGUoYnVja2V0LCBzM19rZXksIGxvY2FsX2ZpbGUpDQogICAgICAgIHByaW50KGYiUERGIGRvd25s b2FkZWQ6IHtzM19rZXl9IikNCiAgICAgICAgcmV0dXJuIGxvY2FsX2ZpbGUNCiAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6DQogICAgICAgIHByaW50KGYiRXJyb3IgZG93bmxvYWRpbmcge3MzX2tl eX06IHtlfSIpDQogICAgICAgIHJldHVybiBOb25lDQoNCmRlZiBleHRyYWN0X3RleHRfYW5kX3Rh Ymxlc19mcm9tX3BkZihwZGZfcGF0aCk6DQogICAgIiIiIEV4dHJhY3QgdGV4dCBhbmQgdGFibGVz IGZyb20gUERGIHVzaW5nIHBkZnBsdW1iZXIgIiIiDQogICAgdHJ5Og0KICAgICAgICBleHRyYWN0 ZWRfZGF0YSA9IHsidGV4dCI6IFtdLCAidGFibGVzIjogW119DQogICAgICAgIHdpdGggcGRmcGx1 bWJlci5vcGVuKHBkZl9wYXRoKSBhcyBwZGY6DQogICAgICAgICAgICBmb3IgcGFnZV9udW0sIHBh Z2UgaW4gZW51bWVyYXRlKHBkZi5wYWdlcyk6DQogICAgICAgICAgICAgICAgcHJpbnQoZiJFeHRy YWN0aW5nIGRhdGEgZnJvbSBwYWdlIHtwYWdlX251bSArIDF9Li4uIikNCiAgICAgICAgICAgICAg ICANCiAgICAgICAgICAgICAgICAjIEV4dHJhY3RpbmcgdGV4dCB3aXRoIHBvc2l0aW9uIGluZm8g KHRvIG1haW50YWluIHNwYWNpbmcpDQogICAgICAgICAgICAgICAgdGV4dF93aXRoX3Bvc2l0aW9u ID0gcGFnZS5leHRyYWN0X3dvcmRzKCkNCiAgICAgICAgICAgICAgICBpZiB0ZXh0X3dpdGhfcG9z aXRpb246DQogICAgICAgICAgICAgICAgICAgIGV4dHJhY3RlZF9kYXRhWyJ0ZXh0Il0uYXBwZW5k KHRleHRfd2l0aF9wb3NpdGlvbikgICMgQXBwZW5kIHRleHQgd2l0aCBwb3NpdGlvbiBpbmZvDQog ICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgIyBFeHRyYWN0aW5nIHRhYmxlcw0KICAg ICAgICAgICAgICAgIHRhYmxlcyA9IHBhZ2UuZXh0cmFjdF90YWJsZXMoKQ0KICAgICAgICAgICAg ICAgIGlmIHRhYmxlczoNCiAgICAgICAgICAgICAgICAgICAgZXh0cmFjdGVkX2RhdGFbInRhYmxl cyJdLmFwcGVuZCh0YWJsZXMpDQogICAgICAgIA0KICAgICAgICByZXR1cm4gZXh0cmFjdGVkX2Rh dGENCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6DQogICAgICAgIHByaW50KGYiRXJyb3IgZXh0 cmFjdGluZyB0ZXh0IGFuZCB0YWJsZXMgZnJvbSB7cGRmX3BhdGh9OiB7ZX0iKQ0KICAgICAgICBy ZXR1cm4geyJ0ZXh0IjogW10sICJ0YWJsZXMiOiBbXX0NCg0KZGVmIGluc2VydF9kYXRhX2ludG9f ZXhjZWwoZGF0YSwgc2hlZXRfbmFtZSwgd29ya2Jvb2spOg0KICAgICIiIiBJbnNlcnQgZXh0cmFj dGVkIHRleHQgYW5kIHRhYmxlcyBpbnRvIEV4Y2VsIHNoZWV0ICIiIg0KICAgIGlmIG5vdCBkYXRh WyJ0ZXh0Il0gYW5kIG5vdCBkYXRhWyJ0YWJsZXMiXToNCiAgICAgICAgcHJpbnQoZiJTa2lwcGlu ZyB7c2hlZXRfbmFtZX0sIG5vIGRhdGEgZXh0cmFjdGVkLiIpDQogICAgICAgIHJldHVybg0KDQog ICAgc2hlZXQgPSB3b3JrYm9vay5jcmVhdGVfc2hlZXQodGl0bGU9c2hlZXRfbmFtZVs6MzFdKSAg IyBFeGNlbCBzaGVldCBuYW1lIGxpbWl0OiAzMSBjaGFyYWN0ZXJzDQogICAgY3VycmVudF9yb3cg PSAxDQoNCiAgICAjIEluc2VydCB0ZXh0IHdpdGggcG9zaXRpb25zDQogICAgaWYgZGF0YVsidGV4 dCJdOg0KICAgICAgICBmb3IgcGFnZV90ZXh0IGluIGRhdGFbInRleHQiXToNCiAgICAgICAgICAg IGZvciBlbGVtZW50IGluIHBhZ2VfdGV4dDoNCiAgICAgICAgICAgICAgICB0ZXh0ID0gZWxlbWVu dFsidGV4dCJdDQogICAgICAgICAgICAgICAgeDAsIHkwLCB4MSwgeTEgPSBlbGVtZW50WyJ4MCJd LCBlbGVtZW50WyJ0b3AiXSwgZWxlbWVudFsieDEiXSwgZWxlbWVudFsiYm90dG9tIl0NCiAgICAg ICAgICAgICAgICANCiAgICAgICAgICAgICAgICAjIERldGVybWluZSB0aGUgY29sdW1uIGJhc2Vk IG9uIHgwIChob3Jpem9udGFsIHBvc2l0aW9uKQ0KICAgICAgICAgICAgICAgIGNvbHVtbiA9IGlu dCh4MCAvLyA1MCkgKyAxICAjIEFkanVzdCAnNTAnIGJhc2VkIG9uIGNvbHVtbiB3aWR0aCBzY2Fs aW5nDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIHJv dyBiYXNlZCBvbiB5MCAodmVydGljYWwgcG9zaXRpb24pDQogICAgICAgICAgICAgICAgcm93ID0g aW50KHkwIC8vIDE1KSArIGN1cnJlbnRfcm93ICAjIEFkanVzdCAnMTUnIGJhc2VkIG9uIHJvdyBo ZWlnaHQgc2NhbGluZw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICMgSW5zZXJ0 IHRoZSB0ZXh0IGluIHRoZSBjb3JyZXNwb25kaW5nIGNlbGwNCiAgICAgICAgICAgICAgICBjZWxs ID0gc2hlZXQuY2VsbChyb3c9cm93LCBjb2x1bW49Y29sdW1uKQ0KICAgICAgICAgICAgICAgIGNl bGwudmFsdWUgPSB0ZXh0DQogICAgICAgICAgICAgICAgY2VsbC5hbGlnbm1lbnQgPSBBbGlnbm1l bnQod3JhcF90ZXh0PVRydWUpDQoNCiAgICAjIEluc2VydCBleHRyYWN0ZWQgdGFibGVzDQogICAg aWYgZGF0YVsidGFibGVzIl06DQogICAgICAgIGZvciB0YWJsZSBpbiBkYXRhWyJ0YWJsZXMiXToN CiAgICAgICAgICAgIGZvciByb3cgaW4gdGFibGU6DQogICAgICAgICAgICAgICAgc2hlZXQuYXBw ZW5kKHJvdykgICMgQWRkIHRhYmxlIHJvdw0KICAgICAgICAgICAgICAgIGN1cnJlbnRfcm93ICs9 IDENCg0KICAgIHByaW50KGYiSW5zZXJ0ZWQgdGV4dCBhbmQgdGFibGVzIGZyb20ge3NoZWV0X25h bWV9IGludG8gRXhjZWwuIikNCg0KZGVmIHVwbG9hZF9leGNlbF90b19zMyhidWNrZXQsIHMzX2tl eSwgZXhjZWxfcGF0aCk6DQogICAgIiIiIFVwbG9hZCB0aGUgRXhjZWwgZmlsZSB0byBTMyAiIiIN CiAgICB0cnk6DQogICAgICAgIHdpdGggb3BlbihleGNlbF9wYXRoLCAicmIiKSBhcyBleGNlbF9m aWxlOg0KICAgICAgICAgICAgczNfY2xpZW50LnVwbG9hZF9maWxlb2JqKGV4Y2VsX2ZpbGUsIGJ1 Y2tldCwgczNfa2V5KQ0KICAgICAgICBwcmludChmIkV4Y2VsIGZpbGUgdXBsb2FkZWQgdG86IHMz Oi8ve2J1Y2tldH0ve3MzX2tleX0iKQ0KICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToNCiAgICAg ICAgcHJpbnQoZiJFcnJvciB1cGxvYWRpbmcgRXhjZWwgZmlsZToge2V9IikNCg0KIyAqKk1haW4g UHJvY2Vzc2luZyBMb2dpYyoqDQpwZGZfZmlsZV9uYW1lID0gIjIwMjUtMDItMDkgVVNBIFRvZGF5 IDY1MC5wZGYiDQpzM19wZGZfa2V5ID0gZiJ7UzNfSU5QVVRfRk9MREVSfXtwZGZfZmlsZV9uYW1l fSINCg0KIyBEb3dubG9hZCB0aGUgc2VsZWN0ZWQgUERGIGZpbGUNCmxvY2FsX2ZpbGUgPSBkb3du bG9hZF9wZGZfZnJvbV9zMyhCVUNLRVRfTkFNRSwgczNfcGRmX2tleSwgTE9DQUxfUERGX1BBVEgp DQppZiBsb2NhbF9maWxlOg0KICAgIHBkZl9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShsb2NhbF9m aWxlKS5yZXBsYWNlKCIucGRmIiwgIiIpDQogICAgZGF0YSA9IGV4dHJhY3RfdGV4dF9hbmRfdGFi bGVzX2Zyb21fcGRmKGxvY2FsX2ZpbGUpDQogICAgDQogICAgaWYgbm90IGRhdGFbInRleHQiXSBh bmQgbm90IGRhdGFbInRhYmxlcyJdOg0KICAgICAgICBwcmludChmIk5vIGRhdGEgZXh0cmFjdGVk IGZyb20ge3BkZl9uYW1lfS4gU2tpcHBpbmcuIikNCiAgICBlbHNlOg0KICAgICAgICAjIENyZWF0 ZSBhIG5ldyB3b3JrYm9vayBhbmQgaW5zZXJ0IHRoZSBleHRyYWN0ZWQgZGF0YQ0KICAgICAgICB3 b3JrYm9vayA9IG9wZW5weXhsLldvcmtib29rKCkNCiAgICAgICAgaW5zZXJ0X2RhdGFfaW50b19l eGNlbChkYXRhLCBwZGZfbmFtZSwgd29ya2Jvb2spDQoNCiAgICAgICAgIyBTYXZlIGFuZCB1cGxv YWQgdGhlIEV4Y2VsIGZpbGUNCiAgICAgICAgd29ya2Jvb2suc2F2ZShMT0NBTF9FWENFTF9QQVRI KQ0KICAgICAgICBwcmludChmIkV4Y2VsIGZpbGUgc2F2ZWQgYXQge0xPQ0FMX0VYQ0VMX1BBVEh9 IikNCiAgICAgICAgdXBsb2FkX2V4Y2VsX3RvX3MzKEJVQ0tFVF9OQU1FLCBTM19PVVRQVVRfRVhD RUwsIExPQ0FMX0VYQ0VMX1BBVEgpDQplbHNlOg0KICAgIHByaW50KGYiRmFpbGVkIHRvIGRvd25s b2FkIHtwZGZfZmlsZV9uYW1lfS4gRXhjZWwgZmlsZSBub3QgY3JlYXRlZC4iKQ0KDQpwcmludCgi UHJvY2Vzc2luZyBjb21wbGV0ZS4iKQ0K --0000000000000646a6062fc5ba03 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor --0000000000000646a6062fc5ba03--