
Analyzing Publication Metadata From XML Archives in Python
Read thousands of journal article XML files straight from a tar.gz, count by year, journal and author count, rank keywords, and avoid unpacking the archive.
Everything you need to level up your coding skills.

Read thousands of journal article XML files straight from a tar.gz, count by year, journal and author count, rank keywords, and avoid unpacking the archive.

Read the dbt manifest built from your properties YAML and report documentation coverage, untested models, owners, tags and source freshness in one script.

Turn XML sensor readings into a pandas time series, resample to hourly means, find a 50 minute gap and a silent switch from Celsius to Fahrenheit.

Count 400,000 orders by status in a 132 MB XML file with grep in 0.4 s, lxml iterparse in 2.0 s or xmlstarlet in 5.1 s, and know when each can be trusted.

Flatten Kubernetes Deployments into one row per container and audit limits, probes, latest tags and privileged mode with SQL, then rank workloads by findings.

Read JSON Lines into a pandas DataFrame with read_json(lines=True): dtypes, chunking, nested fields, big integers, bad lines and the pyarrow engine.

Total 5,000 XML invoice files in under a second with Python, xmlstarlet or grep, group by currency, and catch malformed files and missing totals.

A method for turning an XML file into answers: inspect its shape, extract the fields once, check counts and totals, join carefully and record the result.

Find image versions that disagree across Compose, CI, Helm and Kubernetes files in one pass: postgres in five tags, redis in three and latest in three files.

A 132 MB XML file became 12.1 MB of Parquet. A grouped query ran in 19 ms against seconds of reparsing. How to write it, and when CSV or a database wins.

Turn 24 Compose files into a table of services with Python and DuckDB and answer which images, versions and missing healthchecks they share, in a few queries.

Spark 4.0 reads XML natively with rowTag. Tested on 100,000 orders: schema inference, explode for lines, the double precision trap and from_xml for strings.
We send one email when a new article is published. No spam.