Urgent.News

What's breaking now, across thousands of outlets.

Tech

Your public CSV looks fine until Excel opens it — charset, BOM, and timezone traps

Public extracts usually fail in pagination or scope. A quieter killer: the file is “correct” in Python and wrong the moment a buyer opens it. Before you hand off a public-source CSV, run these five checks: UTF-8 with an explicit BOM when Excel is in the loop — macOS Numbers / pandas often hide the problem; Windows Excel silently mangling café / São / curly quotes is classic. Prefer utf-8-sig for…

Public CSV exports often fail to maintain their intended format when opened in Excel, leading to hidden issues that can cause problems for buyers. To avoid these pitfalls, follow these five key checks before sharing a CSV with external users: ensure the file is encoded in UTF-8 with an explicit BOM when Excel is involved, as macOS Numbers and pandas can hide this issue; be aware that Windows Excel may silently alter characters like café, São, and curly quotes.

When creating buyer-facing CSVs, always use utf-8-sig as the encoding and clearly document this in the accompanying schema.md file. Be cautious of hidden characters in scraped text, such as non-breaking spaces (NBSP, \u00a0) and zero-width characters, as well as fancy dash styles. Normalize whitespace and replace NBSP with regular spaces before writing the file.

Always store timestamps using ISO-8601 format with either a 'Z' for UTC or an explicit offset (e.g., 2026-09-30T15:33:00-07:00), or split them into separate date_utc and time_utc columns. Additionally, avoid leading zeros in numeric fields like ZIP codes or FIPS codes, as Excel may interpret them as text instead of numbers. Prior to sharing, run a round-trip test by reopening the exported file in both Excel and LibreOffice, and manually inspect 10 rows for any signs of corruption like mojibake, incorrect dates, or truncated IDs.

If any issues arise, it's best to fix the export process itself rather than attempting to salvage the buyer's version. Whenever possible, prefer using official JSON or APIs for data exports, flatten the data if necessary, and clearly document the encoding and timezone policy in the schema.md file alongside null rate statistics. For public data pulls, offer a scoped CSV that adheres to these guidelines, with a maximum of 5,000 rows and 12 fields, and ensure the source site allows web scraping (robots.txt respected).

Soft CTA: Ship fixed-scope OpsPacket Public Data Pull packs containing both the CSV and schema.md file for public sources. Sample shape and landing page: https://kayvan-zahiri.github.io/opspacket-public-data-pull/. Hard no-go items include login-walled SaaS exports, LinkedIn data, personal email/phone harvesting, and any content that violates the target's Terms of Service.

Lastly, avoid making any promises about rankings or website traffic – simply provide a well-documented, scoped CSV.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Oracle Manipulation Risk Report: Uniswap V3

Oracle Manipulation Risk Report: Uniswap V3 Target Protocol : Uniswap V3 (TVL: $1693.2M) Oracle Manipulation Risk Report – Uniswap V3 Protocol: Uniswap V3 (TVL ≈ $1.693 B across Ethereum and L2s)…

More from Wednesday 30 September →