[{"data":1,"prerenderedAt":317},["ShallowReactive",2],{"topic:dates-and-times":3},[4,14,19,26,32,38,43,49,55,61,66,72,78,83,89,94,99,104,109,114,120,125,130,135,140,145,150,155,160,166,171,176,181,186,191,197,202,207,212,217,222,227,232,237,242,247,252,258,263,268,273,278,284,290,295,300,306,312],{"path":5,"title":6,"description":7,"type":8,"topics":9,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-overdue-dates-with-openpyxl","Highlight Overdue Dates in Excel with openpyxl","Mark overdue and due-soon rows in an Excel tracker with conditional formatting that uses TODAY(), so the colours stay correct every day the file is opened — ignore blank and completed rows, order rules with stopIfTrue, add a days-overdue column and avoid the text-date trap.","how-to",[10,11,12],"conditional-formatting","dates-and-times","openpyxl",null,{"path":15,"title":16,"description":17,"type":8,"topics":18,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-weekends-and-holidays-in-a-date-column","Highlight Weekends and Holidays in a Date Column","Shade weekend and public-holiday rows in an Excel log or timeline with openpyxl conditional formatting: WEEKDAY-based rules for Saturdays and Sundays, a holiday list generated with the holidays package on its own sheet, rule order so holidays win, the same rules across a date header row for planners, and a recalculated check of which dates each rule catches.",[10,11],{"path":20,"title":21,"description":22,"type":8,"topics":23,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fcleaning-excel-data-with-pandas\u002Fkeep-the-latest-record-per-key-with-pandas","Keep the Latest Record per Key When Deduplicating with pandas","A customer export lists the same customer several times as their details changed. Keep only the most recent row per customer with sort_values and drop_duplicates, break ties on equal timestamps, handle dates stored as text and missing dates, and avoid groupby().last(), which quietly mixes values from different rows.",[24,25,11],"data-cleaning","pandas",{"path":27,"title":28,"description":29,"type":8,"topics":30,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fcreating-pivot-tables-from-excel-data\u002Fcalculate-moving-averages-with-pandas-rolling","Calculate Moving Averages with pandas rolling","Smooth daily sales with a 7-day moving average, per store, the way an Excel AVERAGE over a sliding range does. Learn why rolling(7) and rolling(\"7D\") differ when days are missing, what min_periods does to the first rows, trailing versus centred windows, and how to roll within groups without scrambling rows.",[31,11,25],"pivots-and-summaries",{"path":33,"title":34,"description":35,"type":8,"topics":36,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fexcel-formula-equivalents-in-pandas\u002Feomonth-and-edate-equivalents-in-pandas","EOMONTH and EDATE Equivalents in pandas","Reproduce Excel's EDATE and EOMONTH in pandas for whole columns — month arithmetic that clamps 31 January to 28 February, month ends that do not depend on whether a date is already a month end, a different number of months per row, first-of-month dates and the time-of-day that Excel drops.",[37,11,25],"formula-equivalents",{"path":39,"title":40,"description":41,"type":8,"topics":42,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fexcel-formula-equivalents-in-pandas\u002Fyearfrac-and-days360-equivalents-in-python","YEARFRAC and DAYS360 Equivalents in Python","Reproduce Excel's YEARFRAC with all five day-count bases and DAYS360 with the US and European methods in Python: 30\u002F360 rules for month ends and February, actual\u002F360, actual\u002F365, actual\u002Factual with its leap-year logic, a vectorised version for interest accrual tables in pandas, and a check against spreadsheet results for the awkward dates.",[37,11],{"path":44,"title":45,"description":46,"type":8,"topics":47,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fextracting-data-from-messy-excel-sheets\u002Fread-a-calendar-style-sheet-into-a-table","Read a Calendar-Style Sheet into a Table","Rota planners, booking sheets and leave trackers are often laid out as calendars: a month title, weekday columns, a row of day numbers and a row of entries under each. Turn such grids into one row per date with openpyxl and pandas: find each month block, pair day numbers with their entries, build real dates, skip the padding days from neighbouring months, and validate that every day of every month was read.",[48,11],"messy-sheets",{"path":50,"title":51,"description":52,"type":8,"topics":53,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fhandling-missing-data-in-excel-reports\u002Ffill-gaps-in-per-item-time-series-with-a-staleness-limit","Fill Gaps in Per-Item Time Series with a Staleness Limit","Carry the last known value forward for each item in a sparse Excel time series without letting old numbers pose as current: build a complete item-by-period grid, forward-fill within each item only, cap how many periods a value may be carried, record each value's age and source period, flag stale cells, and write a price matrix to Excel that shows which figures are estimates.",[54,11],"missing-data",{"path":56,"title":57,"description":58,"type":8,"topics":59,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fmerging-and-joining-excel-dataframes\u002Fjoin-rows-to-effective-date-ranges-with-pandas","Join Rows to Effective Date Ranges with pandas","Look up the price, rate or rule that was in force on each row's date: a price list with valid-from and valid-to dates joined to orders, open-ended ranges, the merge-and-filter method, merge_asof with a validity check, orders that fall in a gap, overlapping price periods that match twice, and a check that every order got exactly one price.",[60,11],"joins-and-lookups",{"path":62,"title":63,"description":64,"type":8,"topics":65,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fmerging-and-joining-excel-dataframes\u002Fmatch-rows-by-nearest-date-with-merge-asof","Match Rows by Nearest Date with pandas merge_asof","Attach the exchange rate, price or status that applied at each transaction's date — the latest one on or before it — with pandas merge_asof. Match within groups such as currency, limit how stale a match may be, choose backward, forward or nearest, and fix the sorting and dtype errors it raises.",[60,11,25],{"path":67,"title":68,"description":69,"type":8,"topics":70,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fvalidating-excel-data-with-python\u002Fvalidate-dates-fall-within-an-expected-period","Validate Dates Fall Within an Expected Period","Check the dates in a monthly Excel import before loading it: rows outside the reporting month, dates in the future, years with a typo such as 2062 or 1926, day and month swapped, numbers that are really Excel serials, text that is not a date at all, and transactions on days the business was closed — each row tagged with the reason and the likely correct date where one can be inferred.",[71,11],"data-validation",{"path":73,"title":74,"description":75,"type":76,"topics":77,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data","Working with Dates and Times in Excel Data","Handle Excel dates correctly in Python: the serial-number model, parsing mixed date text with pandas, timezone-aware timestamps, durations, and period grouping for reports.","guide",[11],{"path":79,"title":80,"description":81,"type":8,"topics":82,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fbuild-a-4-4-5-fiscal-calendar-with-pandas","Build a 4-4-5 Fiscal Calendar with pandas","Create a retail-style 4-4-5 fiscal calendar as a date table with pandas: fiscal years that start on the Sunday nearest 1 February, periods of four, four and five weeks per quarter, the occasional 53-week year and where its extra week goes, fiscal year, quarter, period and week for every date, mapping transactions onto it, and comparing periods that all have whole weeks.",[11],{"path":84,"title":85,"description":86,"type":8,"topics":87,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fbuild-a-date-table-for-excel-reports-with-pandas","Build a Date Table for Excel Reports with pandas","Generate a calendar table — one row per day with year, quarter, month, ISO week, weekday, fiscal year, public holidays and working-day numbers — and use it to fill days with no sales, report by fiscal period, find the last working day of each month, and write it as an Excel table that lookups, pivots and Power Pivot can use.",[11,88],"report-layouts",{"path":90,"title":91,"description":92,"type":8,"topics":93,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcalculate-age-and-tenure-from-dates-with-pandas","Calculate Age and Tenure from Dates with pandas (DATEDIF Equivalent)","Compute completed years, months and days between two dates for a whole column — ages from birth dates, tenure from hire dates, contract length — matching Excel's DATEDIF. Covers why days divided by 365.25 is wrong on birthdays, 29 February, an as-of date, fractional years and tenure bands.",[11,37,25],{"path":95,"title":96,"description":97,"type":8,"topics":98,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcalculate-business-days-between-excel-dates-with-pandas","Calculate Business Days Between Excel Dates with pandas","Reproduce NETWORKDAYS, NETWORKDAYS.INTL and WORKDAY in Python: count working days between two date columns with numpy busday_count, include both ends like Excel, exclude holidays from a sheet, and add working days to a date.",[11,25],{"path":100,"title":101,"description":102,"type":8,"topics":103,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcalculate-month-to-date-and-year-to-date-totals-with-pandas","Calculate Month-to-Date and Year-to-Date Totals with pandas","Compute MTD, QTD and YTD figures as of a report date, running period-to-date columns that reset each month or year, the same-period-last-year comparison that cuts last year at the same day, fiscal year-to-date with an April start, and a tidy summary table for an Excel report — including the leap-day and incomplete-data traps.",[11,31],{"path":105,"title":106,"description":107,"type":8,"topics":108,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcalculate-the-nth-weekday-of-a-month","Calculate the Nth Weekday of a Month","Find dates like \"the second Tuesday\", \"the first Monday\" or \"the last Friday\" of every month with pandas: the WOM frequency in date_range, the WeekOfMonth and LastWeekOfMonth offsets, a plain function for a single date, the equivalent Excel formula written into a sheet and checked against Python, and what to do when the date lands on a public holiday.",[11,25],{"path":110,"title":111,"description":112,"type":8,"topics":113,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcalculate-working-hours-between-two-timestamps","Calculate Working Hours Between Two Timestamps","Measure support tickets, approvals and orders against service levels in business hours: count only the time between opening and closing on working days, skip weekends and holidays, handle requests raised overnight, check a vectorised version against a simple one, flag SLA breaches and write the results to Excel.",[11,25],{"path":115,"title":116,"description":117,"type":8,"topics":118,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fconvert-excel-time-values-and-durations","Convert Excel Time Values and Durations in Python","Excel stores times and durations as fractions of a day, and pandas returns them as time objects, timedeltas or 1900 dates depending on the cell format. Turn them all into timedeltas, handle shifts that cross midnight, parse durations typed as text and write durations back so Excel shows hours, not \"1\".",[11,119,25],"number-formats",{"path":121,"title":122,"description":123,"type":8,"topics":124,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fconvert-text-dates-like-20240131-with-pandas","Convert Dates Like 20240131, 31.01.24 and 2024031 with pandas","ERP and mainframe exports write dates as 20240131, 31.01.24, 31-Jan-24 or day-of-year codes, and read_excel returns them as integers or text. Convert each layout with an explicit format, handle placeholders like 00000000, invalid dates such as 20240231 and two-digit years, and report what did not convert.",[11,24,25],{"path":126,"title":127,"description":128,"type":8,"topics":129,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fconvert-text-months-and-weekdays-to-dates","Convert Text Months and Weekdays to Dates","Turn the period labels people type into Excel — \"Jan 2026\", \"September\", \"Sept-26\", \"Q3 2026\", \"Week 14\", \"FY27 P03\", \"Mon\" — into real dates and sortable periods with pandas: explicit formats for month names, a lookup for abbreviations pandas does not know, ISO week numbers, quarters, fiscal periods with a different year start, and weekday names in order, with every unparsed label reported.",[11,24],{"path":131,"title":132,"description":133,"type":8,"topics":134,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fconvert-unix-timestamps-to-excel-dates-with-pandas","Convert Unix Timestamps to Excel Dates with pandas","Exports from APIs, logs and databases give times as Unix timestamps — 1790920800, or 1790920800000 in milliseconds. Detect the unit from the magnitude, convert with pd.to_datetime(unit=..., utc=True), move to the reader's time zone and drop the zone so Excel accepts it, handle zeros and text, convert back, and use the equivalent Excel formula when the conversion must stay in the sheet.",[11,25],{"path":136,"title":137,"description":138,"type":8,"topics":139,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fconvert-year-week-codes-to-dates-with-pandas","Convert Year-Week Codes to Dates with pandas","Turn week codes such as 2026-W14, 202614 or \"wk 14\u002F2026\" from planning and ERP exports into real dates with pandas: ISO weeks that start on Monday and belong to the ISO year, parsing with %G-%V-%u, the Monday and Sunday of each week, week 53 and which years have it, US-style Sunday weeks, Excel's ISOWEEKNUM and WEEKNUM, and going from dates back to week codes.",[11],{"path":141,"title":142,"description":143,"type":8,"topics":144,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fcreate-a-shift-calendar-with-rotating-patterns","Create a Shift Calendar with Rotating Patterns","Generate a shift rota for teams on a rotating pattern — such as four teams on a 2-2-3 day and night cycle — with pandas: store each team's pattern as a repeating sequence anchored to a start date, expand it to any date range, prove every day has exactly one team on days and one on nights, total hours per team per month, mark public holidays, and write a colour-coded calendar grid to Excel.",[11,88],{"path":146,"title":147,"description":148,"type":8,"topics":149,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fexpand-date-ranges-into-one-row-per-day-with-pandas","Expand Date Ranges into One Row per Day with pandas","Turn rows with a start and an end date into one row per day — or per working day — to count how many people are away on each date, spread a contract's value across the months it covers, and summarise by month. With explode, a vectorised repeat for large sheets, business-day calendars and a check that nothing was lost.",[11,25],{"path":151,"title":152,"description":153,"type":8,"topics":154,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Ffill-missing-dates-in-a-time-series-with-pandas","Fill Missing Dates in a Time Series from Excel with pandas","Daily exports only have rows for days when something happened, so charts skip the quiet days and averages come out too high. Add the missing dates with reindex and date_range, fill counts with zero and balances with the last known value, do it per store, and aggregate duplicate dates first.",[11,54,25],{"path":156,"title":157,"description":158,"type":8,"topics":159,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Ffind-overlapping-date-ranges-with-pandas","Find Overlapping Date Ranges with pandas","Catch double bookings, overlapping contracts and clashing leave requests in a sheet of start and end dates: the overlap test, checking each record against the previous one per group, listing every overlapping pair, merging overlaps into continuous periods, finding gaps, and highlighting the clashes in Excel.",[11,25],{"path":161,"title":162,"description":163,"type":8,"topics":164,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Ffix-excel-serial-numbers-showing-instead-of-dates","Fix Excel Serial Numbers Showing Instead of Dates","Your Excel file shows 45292 where a date should be. Fix it in Python with openpyxl number formats, pandas ExcelWriter date formats, and a repair pass for existing workbooks.",[11,165,25],"troubleshooting",{"path":167,"title":168,"description":169,"type":8,"topics":170,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Ffix-mixed-day-first-and-month-first-dates-in-excel-data","Fix Mixed Day-First and Month-First Dates in Excel Data","A date column that combines 03\u002F04\u002F2026 from a UK office, 04\u002F13\u002F2026 from a US one, ISO dates from a system and real Excel dates cannot be parsed with one setting — and pandas' format=\"mixed\" with dayfirst=True silently swaps both unambiguous US dates and ISO dates. Classify each value, infer each source's convention from its unambiguous rows, parse with explicit formats, and flag what stays ambiguous.",[11,24],{"path":172,"title":173,"description":174,"type":8,"topics":175,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fflag-public-holidays-in-excel-data-with-python","Flag Public Holidays in Excel Data with Python","Mark which rows of an Excel dataset fall on public holidays, country by country and region by region, with the holidays package and pandas: holiday names per row, substitute days when a holiday lands on a weekend, regional holidays such as German states, company shutdown days, working days between two dates that skip holidays, and the effect of holidays on daily averages.",[11],{"path":177,"title":178,"description":179,"type":8,"topics":180,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fgroup-excel-data-by-fiscal-year-and-iso-week","Group Excel Data by Fiscal Year and ISO Week with pandas","Assign every Excel row to a fiscal year, fiscal period and ISO week with pandas — any fiscal start month, labels such as FY2026\u002F27, period numbers 1–12, ISO years that differ from calendar years around New Year, Excel's WEEKNUM rule, and complete weekly tables with no missing weeks.",[11,31,25],{"path":182,"title":183,"description":184,"type":8,"topics":185,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fgroup-excel-rows-by-month-and-quarter-with-pandas","Group Excel Rows by Month and Quarter with pandas","Aggregate Excel data into monthly and quarterly totals with pandas — Grouper vs to_period, filling empty periods, fiscal years, and writing the result back as a formatted report.",[11,31,25],{"path":187,"title":188,"description":189,"type":8,"topics":190,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fhandle-daylight-saving-time-in-excel-timestamps","Handle Daylight Saving Time in Excel Timestamps","Excel stores local clock times with no time zone, so the hour that repeats when clocks go back and the hour that never happens when they go forward cause wrong durations, double-counted readings and errors in pandas. Localise naive timestamps safely with ambiguous and nonexistent options, infer the repeated hour from the order of readings, compute true elapsed durations, aggregate by day without 23- and 25-hour surprises, and write results back in a form Excel users understand.",[11,165],{"path":192,"title":193,"description":194,"type":8,"topics":195,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fhandle-the-1904-date-system-in-excel-files","Handle the 1904 Date System in Excel Files with Python","Some workbooks count dates from 1 January 1904 instead of 1900, so the same serial number means a date four years and one day later. Detect which system a file uses with openpyxl, convert raw serial numbers with the right origin, combine files that use different systems, and write workbooks in either system.",[11,196,12],"reading-excel",{"path":198,"title":199,"description":200,"type":8,"topics":201,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fhandle-timezones-in-excel-timestamps-with-python","Handle Timezones in Excel Timestamps with Python","Excel cannot store a timezone. Convert aware datetimes to one zone, strip the offset for writing, label the sheet, and re-localise correctly when reading the file back.",[11,25],{"path":203,"title":204,"description":205,"type":8,"topics":206,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fparse-excel-dates-into-python-datetimes-with-pandas","Parse Excel Dates into Python datetimes with pandas","Turn messy Excel date columns into real datetime64 values with pandas — parse_dates on read, explicit formats, dayfirst ambiguity, coerce-and-report, and mixed-type columns.",[11,25],{"path":208,"title":209,"description":210,"type":8,"topics":211,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fresample-irregular-readings-to-regular-intervals","Resample Irregular Readings to Regular Intervals","Turn sensor, meter or price readings taken at irregular times into tidy hourly or daily values with pandas: resample means and their bias, time-weighted averages for values that hold until the next reading, consumption per interval from cumulative meter readings by interpolating at the boundaries, gaps left visible instead of invented, several devices at once, and an Excel report.",[11,25],{"path":213,"title":214,"description":215,"type":8,"topics":216,"kind":13},"\u002Fadvanced-data-transformation-and-cleaning\u002Fworking-with-dates-and-times-in-excel-data\u002Fround-timestamps-into-time-slots-with-pandas","Round Timestamps into Time Slots with pandas","Bucket call-centre calls, orders or sensor readings into 15-minute, hourly or shift slots: floor, ceil and round with dt accessors, count and sum per slot, show empty slots as zero with a full slot grid, build a weekday-by-hour heatmap table, assign custom slots such as shifts, and compare with Excel's FLOOR formula and its floating-point edge cases.",[11,31],{"path":218,"title":219,"description":220,"type":8,"topics":221,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-cash-flow-forecast-report","Build a 13-Week Cash Flow Forecast Report in Excel with Python","Turn open receivables, payables and recurring commitments into a rolling 13-week cash forecast: expected receipt dates from each customer's payment history, weekly buckets, opening and closing balances, a minimum-cash warning, and an Excel report with live balance formulas and a chart.",[88,11],{"path":223,"title":224,"description":225,"type":8,"topics":226,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-deferred-revenue-schedule","Build a Deferred Revenue Schedule","Spread prepaid subscription and contract revenue over the service period with pandas: daily pro-rata recognition for contracts that start mid-month, a contract-by-month schedule, the deferred revenue balance at each month end, the monthly journal, a check that invoiced equals recognised plus deferred, and the schedule written to Excel.",[88,11],{"path":228,"title":229,"description":230,"type":8,"topics":231,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-maintenance-schedule-in-excel","Build a Maintenance Schedule in Excel","Plan preventive maintenance for machines and vehicles with pandas: tasks due every so many days or every so many running hours, next due dates from the last service and the average daily usage, overdue jobs, every occurrence over the next twelve weeks, the weekly workload against technician hours, and a week-by-asset grid in Excel with the due jobs marked.",[88,11],{"path":233,"title":234,"description":235,"type":8,"topics":236,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-purchase-order-tracking-report","Build a Purchase Order Tracking Report","Track every purchase order line from order to receipt to invoice with pandas: combine PO, goods-receipt and supplier-invoice exports, compute what is still to arrive and what has been received but not invoiced, flag late deliveries and invoices without receipts, value the open commitments, and write a status workbook buyers and accounts payable can both work from.",[88,11],{"path":238,"title":239,"description":240,"type":8,"topics":241,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-support-ticket-sla-report","Build a Support Ticket SLA Report","Measure a helpdesk against its service levels from a ticket export with pandas: SLA targets per priority, elapsed time in business hours that skips nights, weekends and holidays, first-response and resolution breaches, open tickets close to breaching, attainment by priority, team and week, and an Excel report with the at-risk list on top.",[88,11],{"path":243,"title":244,"description":245,"type":8,"topics":246,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-an-accruals-and-prepayments-schedule","Build an Accruals and Prepayments Schedule","Automate two month-end schedules with pandas: a prepayments schedule that spreads invoices paid in advance across the months they cover by days, with the release for the month and the balance left on the balance sheet, and an accruals schedule from goods received but not yet invoiced that reverses the next month — both reconciled to the ledger and written to Excel with the journals.",[88,11],{"path":248,"title":249,"description":250,"type":8,"topics":251,"kind":13},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-an-on-time-delivery-report","Build an On-Time Delivery (OTIF) Report with Python","Measure delivery performance from order and shipment exports: combine split shipments per order line, count lateness in working days with holidays, score on time, in full and OTIF, break results down by carrier, customer and week against a target, and write an Excel report with the late orders listed for follow-up.",[88,11],{"path":253,"title":254,"description":255,"type":8,"topics":256,"kind":13},"\u002Fautomating-reporting-workflows\u002Fscheduling-python-excel-scripts-with-cron\u002Frun-a-report-on-the-last-business-day-of-the-month","Run a Report on the Last Business Day of the Month","Cron cannot say \"the last working day of the month\", and a plain month-end offset forgets public holidays. Schedule the job every weekday and let Python decide: find the last business day with numpy and a holiday calendar, handle the nth business day for close reporting, use the business's time zone, and catch up if the server was down on the day.",[257,11],"scheduling",{"path":259,"title":260,"description":261,"type":8,"topics":262,"kind":13},"\u002Fautomating-reporting-workflows\u002Fscheduling-python-excel-scripts-with-cron\u002Fschedule-reports-correctly-across-time-zones-and-dst","Schedule Reports Correctly Across Time Zones and DST","Keep an 08:00 Excel report at 08:00 local time all year: why a UTC cron entry drifts by an hour when daylight saving starts and ends, time-zone-aware schedules in systemd, cronie, Kubernetes and Python, the skipped and repeated hours to avoid, a guard that works on UTC-only schedulers, and report periods that are 23 or 25 hours long.",[257,11],{"path":264,"title":265,"description":266,"type":76,"topics":267,"kind":13},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fapplying-number-and-date-formats-in-excel","Applying Number and Date Formats in Excel","Format numbers, currency, percentages, and dates in Excel from Python with openpyxl number_format codes — display-only formatting that never alters the stored value.",[119,11],{"path":269,"title":270,"description":271,"type":8,"topics":272,"kind":13},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fapplying-number-and-date-formats-in-excel\u002Fformat-dates-in-excel-cells-with-python","Format Dates in Excel Cells with Python","Format dates in Excel cells with openpyxl: write real datetime objects so Excel stores a date serial, then apply yyyy-mm-dd, mmm d yyyy, or dd\u002Fmm\u002Fyyyy display codes.",[119,11],{"path":274,"title":275,"description":276,"type":8,"topics":277,"kind":13},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fapplying-number-and-date-formats-in-excel\u002Fformat-durations-over-24-hours-in-excel","Format Durations Over 24 Hours in Excel with Python","Write time spent, machine run time or hours worked to Excel so 26 hours 30 minutes shows as 26:30, not 2:30 or 1. Understand how Excel stores durations, fix pandas timedelta columns that arrive formatted as whole days, use [h]:mm and [mm] formats, show decimal hours, total durations with formulas, and avoid negative-time errors.",[119,11],{"path":279,"title":280,"description":281,"type":8,"topics":282,"kind":13},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fcreating-charts-in-excel-with-openpyxl\u002Fuse-a-date-axis-in-an-excel-chart-with-openpyxl","Use a Date Axis in an Excel Chart with openpyxl","Plot values against real time instead of evenly spaced labels: why irregular dates need a date axis, how to set one up in openpyxl with DateAxis and crossAx, tick units and label formats, straight lines instead of smoothed ones, when to keep a text axis, and why readings within a day need a scatter chart instead.",[283,11],"charts-and-images",{"path":285,"title":286,"description":287,"type":8,"topics":288,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fhandling-excel-file-formats-and-conversions\u002Fcreate-calendar-events-from-an-excel-sheet","Create Calendar Events from an Excel Sheet with Python","Turn a schedule kept in Excel — training sessions, deadlines, shifts, release dates — into an .ics file that Outlook, Google Calendar and Apple Calendar import: combine date and time columns, handle all-day rows with exclusive end dates, attach the right time zone, give each event a stable UID so re-imports update instead of duplicating, and split the file per person.",[289,11],"file-formats",{"path":291,"title":292,"description":293,"type":8,"topics":294,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Ftroubleshooting-common-python-excel-errors\u002Ffix-excel-does-not-support-timezones-in-datetimes","Fix \"Excel does not support datetimes with timezones\" in pandas","Excel cells cannot store a time zone, so pandas refuses to write timezone-aware timestamps. Decide which clock the reader needs, convert to it, drop the zone, and label the column — for columns, indexes and object columns alike.",[165,11,25],{"path":296,"title":297,"description":298,"type":8,"topics":299,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Ftroubleshooting-common-python-excel-errors\u002Ffix-overflowerror-date-value-out-of-range-when-reading-excel","Fix \"OverflowError: date value out of range\" When Reading Excel","Date cells that hold numbers too large or too small to be dates — a sentinel like 99999999, a yyyymmdd number formatted as a date, an amount column with the wrong format — raise OverflowError in from_excel and older openpyxl, become #VALUE! with a warning in openpyxl 3.1, NaT in pandas, or OutOfBoundsDatetime later. Find the raw values, decide what they mean, and convert them deliberately.",[165,11],{"path":301,"title":302,"description":303,"type":8,"topics":304,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fusing-openpyxl-for-excel-file-manipulation\u002Fhow-openpyxl-stores-python-values-in-cells","How openpyxl Stores Python Values: Types, Dates and None","What happens to an int, a bool, a date, a Decimal, a NumPy value or a timezone-aware datetime when you assign it to an openpyxl cell — the cell type it becomes, the number format it gets, what comes back when the file is reopened, and which values fail only when you save.",[12,305,11],"writing-excel",{"path":307,"title":308,"description":309,"type":8,"topics":310,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fusing-python-in-excel\u002Fforecast-a-time-series-with-python-in-excel","Forecast a Time Series with Python in Excel","Use Python in Excel to forecast monthly sales from a table in the workbook: pull the history with xl(), give it a proper monthly date index, fit a Holt-Winters model with statsmodels, return the forecast and a simple prediction band as a spilled range, chart it with matplotlib, and know the limits — cloud execution, recalculation and FORECAST.ETS as a formula-only alternative.",[311,11],"python-in-excel",{"path":313,"title":314,"description":315,"type":8,"topics":316,"kind":13},"\u002Fgetting-started-with-python-excel-automation\u002Fwriting-dataframes-to-excel-with-pandas\u002Fwrite-dates-without-time-from-pandas-to-excel","Write Dates Without the Time Part from pandas to Excel","pandas writes datetime columns with a YYYY-MM-DD HH:MM:SS format, so every date shows 00:00:00. Write real dates that display as dates: convert to date objects, set datetime_format on an xlsxwriter ExcelWriter, or apply a number format per column — and avoid the openpyxl engine option that is silently ignored.",[305,11,119],1790972052271]