What should you check in a CSV before you use it?
Go back to the situations from the start, in different words, and take away the five questions worth asking any CSV.
Free course. Your Maestro, an AI, .
On the course's first page you answered four situations from Distribuidora El Nopal without yet knowing what was inside a CSV. Here they come back, told another way, and two more join them: long numbers and dates. Answer without going back. At the end, compare with what you answered at the beginning; your Maestro can help you see what changed.
First, the whole course in one sentence: a CSV is text, and every program that reads it makes assumptions. It assumes an encoding, a separator, a decimal mark, which columns are numbers and what order the dates are in. Almost everything that looks odd is a wrong assumption, not a damaged file. And almost everything is fixed the same way: by telling the reader what it can't guess.
Check yourself: In pandas you read a report that was forwarded to you, with encoding="cp1252", and "Querétaro" comes out as "Querétaro". What do you do?
Check yourself: A coworker explains: "Yesterday the ZIP code came out right because the CSV stores that the column is text." Is that true?
Check yourself: You get a file whose lines look like this: 2026-09-02;Mérida;1.520,00. You'll read it with DuckDB. What do you tell it?
Check yourself: In Excel you import with From Text/CSV a UTF-8 file that has no BOM. How does Power Query know it's UTF-8?
Check yourself: In pandas, a column of 18-digit invoice numbers with one empty cell shows up as 1.200000e+17. What is true?
Check yourself: A file's dates run from 01/09/2026 to 12/10/2026, every one with a day from 1 to 12. pandas converted them with no error. What do you conclude?
If any of them gave you trouble, go back to that topic's page; they're in the same order as the course. And if you got all six, you have what matters most: when a file looks odd, your first thought is no longer "it got damaged" but "what did the program assume?"
These are the five questions you can ask any CSV before using it, in pandas, in DuckDB or in Excel:
What encoding does it come in?
UTF-8, with or without a BOM, or Windows-1252 from an old system. If you see
Ã, anïstuck to the first header or�, the reading doesn't match.What separates the columns?
Comma, semicolon or tab. If everything lands in one column, this is the problem.
How does it write numbers?
Decimal point or comma, and whether it groups thousands. A single cell like
1.180,00can leave the whole column as text.Which columns are codes?
If you would never add it up, read it as text: ZIP codes, IDs, invoice numbers, barcodes.
What order are the dates in?
Look for a day greater than 12 or ask, and state it with
%d/%m/%Y. When writing, use2026-09-02.
And a sixth for when you're the one writing: who will read it? For Excel with a double click, UTF-8 with a BOM; for a system, whatever that system expects; always without the index column.
Ask your Maestro to go through a file from your work with you using these questions. Or ask it which of your answers from the start changed and why.
Think of a file you receive or send often at work. What will you do differently the next time you open or save it?
Reflect: Think of a file you receive or send often at work. What will you do differently the next time you open or save it?
Only you and your Maestro read this. It's kept on your account and deleted with it.
What's next
In this course you changed one or two lines of scripts that were already written. If you enjoyed seeing how a read_csv option fixes a file, the natural next step is learning to write those scripts yourself, from start to finish.
That's Python for Data People: From Notebooks to Real Programs, Maestro's paid course on Python as a language: values and types, lists and dictionaries, loops, functions, errors, files and paths, your own modules and a project with its uv environment. There you see things from this course again, from the other side: opening files with their encoding, reading a CSV row by row and understanding a traceback. You don't need it to use what you learned here: the five questions work as they are.