Skip to content
All articles

Import checks

Bank CSV opens in one column: fix the import, not every comma

If your bank CSV lands in column A, import the untouched file through Data > From Text/CSV and choose the delimiter that actually separates its fields. If the columns are right but Café becomes Café, check the encoding instead.

By AnyStatement

Published , 9 min read

Contents
  1. Start with Excel's import preview
  2. One column and one row are different problems
  3. A semicolon CSV you can test without sharing bank data
  4. Three cells can still be three wrong cells
  5. Garbled names need an encoding check
  6. Missing row breaks are not fixed by another separator
  7. Google Sheets has a separate import setting
  8. Keep the original and check the result
  9. What we checked

A comma can separate columns, mark a decimal, or belong to a merchant's name, so replacing every comma isn't a safe repair. Keep the download untouched. This guide separates those problems so you can get a readable table without rewriting the transactions. It doesn't establish that the bank data is complete or reconcile it to your books; you still need to compare the result with the original statement and ask the bank about a damaged export.

Start with Excel's import preview

The import preview lets you choose settings before loading the data. To start again, close the misread copy without overwriting the original and open a blank workbook. These steps are documented for desktop Excel on Windows; other Excel editions may not have the same menus. Microsoft's text and CSV import guide, updated June 25, 2026 explains that opening a CSV uses current default data-format settings, while importing lets you choose the delimiter and see its effect before loading.

  1. Open Data → From Text/CSV in the Get & Transform Data group and select the original bank download.
  2. In the preview, set Delimiter to the actual field separator. Choose semicolon for the fictional example below, not comma just because the filename ends in .csv.
  3. The header and several transactions should line up, including a description with punctuation. Check that dates, descriptions and amounts each occupy their own column, with no part of an amount stranded in a neighboring cell.
  4. If the preview offers automatic data type detection, turn it off so columns start as Text. You can then choose Transform Data (or Edit) to review them in the query editor before loading. Until you've resolved their conventions, keep raw references, dates and amounts as text and convert copies of those columns.
  5. A tidy preview is only the start of the check. Once you've loaded into a new worksheet, compare the first and last transactions and the total transaction count with the source.

Microsoft's Text/CSV connector guide, updated October 8, 2026 documents Transform Data, the separate File Originand delimiter controls, and the option to disable automatic type detection. It warns that inferred settings can be wrong. The leading-zero guide below calls the editor button Edit; labels can differ across versions.

For identifiers, Microsoft's leading-zero guidance, updated June 25, 2026 says to choose Text in the query editor and Replace Current when prompted to change the column type. That replaces the inferred conversion rather than adding text formatting after digits have already been lost. If a saved copy has changed the references, return to the original download.

One column and one row are different problems

A plain-text editor lets you inspect a copy before changing anything. The character between Date and Description is a useful clue to the delimiter, provided it also separates the fields in the transaction rows. The table below gives you a first check, not a diagnosis from appearance alone.

CSV symptoms and the first thing to inspect
What you seeWhat to inspectFirst move
Everything in column AField delimiter versus import choiceRe-import with the matching delimiter
Descriptions spill into columnsQuoted commas and text qualifierCheck the source quotes and import settings
Everything on one rowRecord breaks and unmatched quotesInspect the original; re-download if damaged
Café instead of CaféCharacter encodingDecode the original bytes with the right encoding
Columns look right, amounts do notDecimal, grouping and sign conventionsResolve number formats before calculating

The file's delimiter is a character in the data. A regional list separator is a software setting, and the two can disagree. Microsoft's CSV guide describes an Excel-only change for Save As .csv: clearing Use system separators and setting the decimal separator to a comma forces semicolon output. That's an export setting, not an instruction to change your bank file. Changing the Windows list separator affects other applications too, which is why it's better to choose the delimiter in the preview for this import.

Selecting semicolon fixes where columns split, but it doesn't decide whether a number uses a decimal comma or whether a date is day-first. Those are separate decisions. The guide to bank CSV dates and number formats covers the next step.

A semicolon CSV you can test without sharing bank data

This is a fictional three-transaction EUR bank account example. Negative amounts are money leaving the account; the positive amount is a refund. Copy the block into a plain-text file saved as UTF-8, keeping the line breaks, and import it with semicolon as the delimiter. There should be three columns and four records, including the header.

Date;Description;Amount
2026-10-01;"Café, Central";-12,50
2026-10-02;Grocer;-30,00
2026-10-03;Refund;25,00

The amount -12,50 is one value: minus twelve euros and fifty cents. In Café, Central, the comma belongs to the description, so neither comma marks a column boundary. Here's the same fictional data deliberately rewritten as comma-delimited CSV with decimal points:

Date,Description,Amount
2026-10-01,"Café, Central",-12.50
2026-10-02,Grocer,-30.00
2026-10-03,Refund,25.00

In the second file, the quotes around Café, Central keep its comma inside one field. The common CSV format documented in RFC 4180, published October 2005 describes quoted fields containing commas, line breaks or escaped double quotes. It is an informational description of comma CSV, not a promise that every bank export follows it or that semicolon files use its exact grammar.

Both examples have a net movement of -17.50 EUR: -12.50 - 30.00 + 25.00. When constructing the second example, we changed only the known amount fields to decimal points. A global replacement would also change the merchant name or the field separators, which is why it's the wrong repair for the whole file.

Three cells can still be three wrong cells

Choosing comma for the semicolon example does not simply leave every record in one cell. Some lines split at decimal commas, and the first transaction happens to produce three fields. Its field count looks right while every field is wrong.

The Python script below reproduces that parsing mistake and checks the amount total with exact decimals. It's a parser demonstration, not an Excel automation script. Another importer can reject the wrong dialect instead of accepting these broken fields.

import csv
from decimal import Decimal
from io import StringIO

sample = '''Date;Description;Amount
2026-10-01;"Café, Central";-12,50
2026-10-02;Grocer;-30,00
2026-10-03;Refund;25,00'''

right = list(csv.reader(StringIO(sample), delimiter=";"))
wrong = list(csv.reader(StringIO(sample), delimiter=","))
print("Semicolon field counts:", [len(row) for row in right])
print("Comma field counts:", [len(row) for row in wrong])
print("Wrong first transaction:", wrong[1])
print("Correct first transaction:", right[1])
amounts = [Decimal(row[2].replace(",", ".")) for row in right[1:]]
print("Net:", sum(amounts, Decimal("0")))
print("Garbled:", "Café".encode("utf-8").decode("cp1252"))

The output from running it:

Semicolon field counts: [3, 3, 3, 3]
Comma field counts: [1, 3, 2, 2]
Wrong first transaction: ['2026-10-01;"Café', ' Central";-12', '50']
Correct first transaction: ['2026-10-01', 'Café, Central', '-12,50']
Net: -17.50
Garbled: Café

In the wrong parse, 50, the cents from the first amount, has become an entire field. That's why you need to check what's under each header as well as how many columns appear. The script replaces commas only in amount fields from the correctly parsed, deliberately decimal-comma example; it isn't a general-purpose number converter.

Garbled names need an encoding check

Encoding determines how file bytes become characters. Delimiters determine where fields split after that. In the script, the UTF-8 bytes for Café deliberately read as Windows-1252 produce Café. A file can therefore have perfectly aligned columns and still have damaged-looking names.

Microsoft's UTF-8 CSV guidance, updated June 25, 2026 says Excel can open UTF-8 CSV normally when it is saved with a BOM (Byte Order Mark). Without that marker, Microsoft recommends Power Query's Text/CSV import route or Get Data From Text. A BOM helps identify the encoding; it does not choose your delimiter or repair already-misread text.

In Power Query's Text/CSV preview, File Origin selects the character set. Use the original file and the bank's stated encoding if available. For the fictional file you saved as UTF-8, choose UTF-8 explicitly: the connector guide above says UTF-8 is inferred only when the file begins with a UTF-8 BOM.

If you use the legacy wizard, Microsoft's Text Import Wizard guide, updated August 12, 2026 also documents File origin. Its example selects 1252, Western European (Windows), because that is how the source was encoded. Windows-1252 is not another name for UTF-8, and choosing it merely because you use Windows is not a diagnosis. Compare accented names in the preview with the source.

If the text was already saved as Café, saving it again with a UTF-8 BOM does not turn it back into Café. If characters were replaced with question marks or replacement symbols during a lossy save, the missing information may no longer be in that copy. A fresh download is the starting point for repairs because recovery can't be promised from a file that no longer contains the original bytes.

Missing row breaks are not fixed by another separator

This deliberately broken, fictional fragment has no line break between its header and transaction. A semicolon parser reads one record with five fields, not a header followed by a three-field transaction:

Date;Description;Amount2026-10-02;Grocer;-30,00

Switching to comma won't restore the missing boundary after Amount, so start with a fresh bank download. If the original is still malformed, ask the bank for another export. Inserting newlines wherever a date-shaped string appears isn't a safe fix because dates can occur in descriptions too.

Quotes can explain some apparent row problems. A line break inside a quoted description can belong to one transaction, so physical text lines aren't always transaction counts; an unclosed quote can also confuse record boundaries. RFC 4180 documents quoted line breaks, and Microsoft's Text Import Wizard guide documents the text qualifier that keeps a quoted delimiter inside a single value. Removing all the quotes to make the preview look cleaner would discard that distinction.

Google Sheets has a separate import setting

Google's documented route is File → Import → Upload, followed by an import location and separator choice. Its import instructions and supported-file and separator guide were checked October 17, 2026; neither displayed an update date. This is documentation guidance, not a live-tested Sheets walkthrough.

For the semicolon example, choose Custom and enter ; as the separator. Choosing Create new spreadsheet or Insert new sheets avoids replacing an existing budget. Once it's imported, compare all three transactions with the example. This route uploads the file to Google, so use it only if that fits how you're permitted to handle the data.

Sheets' locale is a different setting. Google's locale documentation, checked October 17, 2026 and undated says File → Settings → Locale changes default currency, date and number formatting across the spreadsheet, including what collaborators see. That is not an encoding-recovery control. If names are garbled, return to the source bytes rather than cycling through countries until the amounts look plausible.

Keep the original and check the result

If you need a separate CSV rather than an Excel workbook, try the CSV format repair tool. It still needs the actual input delimiter, and you should inspect the preview before making an output copy. Changing a delimiter doesn't convert decimal commas, decide date order or check whether a transaction belongs in the file.

Before using the copy, compare transaction counts, the first and last rows, punctuation in descriptions and raw reference numbers. You'll also need to resolve the amount convention before totaling the column. The bank statement CSV checks cover the next checks for signs, missing rows, duplicates and balance arithmetic. A readable table isn't proof that every row is correct, that your ledger reconciles, or that a document is authentic.

A bank CSV that needs the right import settings does not need PDF conversion. If the download itself is damaged, a fresh native export is the better starting point.

What we checked

Sources were opened on October 17, 2026. Microsoft update dates above are the pages' observed updated-at metadata. We ran the displayed Python script, checked both fictional files with the matching delimiters, recomputed the -17.50 EUR total with Decimal, and parsed the missing-line-break example. We also checked the UTF-8/Windows-1252 byte example, including a BOM re-save that leaves already-garbled text unchanged. We did not run an Excel or Sheets import. No real bank data or accounting ledger was used.