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--