[{"data":1,"prerenderedAt":93},["ShallowReactive",2],{"topic:polars":3},[4,14,22,27,33,39,44,50,55,61,66,71,76,82,88],{"path":5,"title":6,"description":7,"type":8,"topics":9,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow","Reading Excel with Polars and Arrow","Read and write Excel with Polars and Arrow-backed engines: polars.read_excel, the calamine reader, lazy pipelines, Parquet conversion, and when pandas is still the better tool.","guide",[10,11,12],"polars","reading-excel","large-files",null,{"path":15,"title":16,"description":17,"type":18,"topics":19,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fclean-and-aggregate-excel-data-with-polars","Clean and Aggregate Excel Data with Polars Expressions","Clean a messy Excel export with Polars expressions — trim and normalise text, parse amounts typed with currency symbols and thousands separators, find the values that failed, add conditional columns, then aggregate with group_by, window shares and a pivot, and write the summary back to Excel.","how-to",[10,20,21],"data-cleaning","pivots-and-summaries",{"path":23,"title":24,"description":25,"type":18,"topics":26,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fclean-wide-excel-sheets-with-polars-column-selectors","Clean Wide Excel Sheets with Polars Column Selectors","Wide Excel sheets with a column per month, region or measure are tedious to clean column by column. Polars column selectors pick columns by type, name pattern or position and combine with set operations, so one expression can trim every text column, fill every numeric gap, total every monthly column, rename a whole block and unpivot it — and keep working when next month adds a column.",[10,20],{"path":28,"title":29,"description":30,"type":18,"topics":31,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fconvert-excel-files-to-parquet-with-python","Convert Excel Files to Parquet with Python","Turn slow, repeated Excel reads into fast columnar ones: convert workbooks to Parquet with pandas or Polars, keep types, partition by period, and refresh incrementally.",[32,10],"file-formats",{"path":34,"title":35,"description":36,"type":18,"topics":37,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fconvert-pandas-excel-code-to-polars","Convert pandas Excel Code to Polars","Port an existing pandas Excel report script to Polars step by step: read_excel and to_excel equivalents, filtering, new columns, groupby and merge, pivot and fillna, the index that Polars does not have, NaN versus null, apply calls that become expressions, and a test that proves the new script produces the same workbook figures as the old one.",[10,38],"pandas",{"path":40,"title":41,"description":42,"type":18,"topics":43,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Ffix-schema-and-type-errors-when-reading-excel-with-polars","Fix Schema and Type Errors When Reading Excel with Polars","Polars reads Excel fast, but its type inference can turn mismatched cells into nulls without a word. This page shows how a code like A-77 or a text date silently disappears, how infer_schema_length and schema_overrides change that, how to read raw text and cast with a report of every failure, and how to handle blank and duplicate headers, empty sheets and mixed date formats.",[10,11],{"path":45,"title":46,"description":47,"type":18,"topics":48,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fjoin-and-pivot-excel-data-with-polars","Join and Pivot Excel Data with Polars","Combine and reshape workbook data with Polars: read several sheets, join them with validate to catch duplicate keys, find unmatched rows with an anti join, group and aggregate, pivot quarters into columns, unpivot back, run the pipeline lazily, and write a formatted result with write_excel — with the pandas equivalents alongside.",[10,49,21],"joins-and-lookups",{"path":51,"title":52,"description":53,"type":18,"topics":54,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fread-an-excel-file-with-polars-read-excel","Read an Excel File with polars.read_excel","Read xlsx into Polars: pick sheets, set the header row, control column types with schema_overrides, handle dates and nulls, and convert to pandas when you need to.",[10,11],{"path":56,"title":57,"description":58,"type":18,"topics":59,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fread-multiple-excel-sheets-with-polars","Read Multiple Excel Sheets with Polars","Read the month sheets of a workbook into one Polars DataFrame — list sheet names without loading data, pick sheets by pattern, force consistent column types across sheets, stack them with the right concat mode, turn sheet names into dates and repeat across many workbooks.",[10,60,11],"sheets-and-files",{"path":62,"title":63,"description":64,"type":18,"topics":65,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fscan-and-filter-many-excel-files-lazily-with-polars","Scan and Filter Many Excel Files Lazily with Polars","Polars has scan_csv and scan_parquet but no scan_excel, so a folder of workbooks cannot be queried lazily as-is. This page reads only the columns you need from each file with the calamine engine, tags rows with their source file, builds one LazyFrame for filtering and aggregation, and adds a Parquet cache that turns every later run into a true lazy scan with projection and predicate pushdown.",[10,12],{"path":67,"title":68,"description":69,"type":18,"topics":70,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fspeed-up-pandas-excel-reads-with-the-calamine-engine","Speed Up pandas Excel Reads with the calamine Engine","Swap openpyxl for calamine in pandas.read_excel: install it, measure the difference, understand the trade-offs, and know which reads it will not help.",[12,11,10,38],{"path":72,"title":73,"description":74,"type":18,"topics":75,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fuse-polars-window-functions-on-excel-data","Use Polars Window Functions on Excel Data","Add group-level figures to every row of an Excel table without collapsing it: Polars over() for share of group total, rank within group, running totals, month-on-month change and top N per group, the order_by and mapping_strategy options that control how windows behave, and the same calculations side by side with pandas transform.",[10,21],{"path":77,"title":78,"description":79,"type":18,"topics":80,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Freading-excel-with-polars-and-arrow\u002Fwrite-a-polars-dataframe-to-excel-with-formatting","Write a Polars DataFrame to Excel with Formatting","Use DataFrame.write_excel to produce a formatted workbook: number formats, autofit, Excel tables, conditional formats, multiple sheets, totals rows and charts.",[10,81],"writing-excel",{"path":83,"title":84,"description":85,"type":18,"topics":86,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fchoosing-a-python-excel-library\u002Fexcel-vs-csv-vs-parquet-for-python-data-pipelines","Excel vs CSV vs Parquet for Python Data Pipelines","Excel is a delivery format, not a storage format. Compare types, size and read speed, and use Parquet in the middle of the pipeline with .xlsx only at the end.",[32,87,10],"choosing-libraries",{"path":89,"title":90,"description":91,"type":18,"topics":92,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fchoosing-a-python-excel-library\u002Fpandas-vs-polars-for-excel-workflows","pandas vs Polars for Excel Workflows","Both read Excel through calamine and write through xlsxwriter, so the real difference is the transform. Compare the APIs, the speed, and how to move between them.",[87,10,38],1790972052271]