FoundryNet / Error codes / CSV ingest empty_csv
CSV ingest error code

empty_csv — No header row, or no data rows

Forge needs a header row to name the columns — the header IS the vendor tag list that gets mapped to canonical fields. A file with no header, or a header and nothing else, cannot be normalized.

Start free All protocols

Diagnosis

When you hit this


Resolution

How to fix it

  1. Strip banner lines
    Many historian exports put a title and export timestamp above the header. Delete them so the header is line one.
  2. Keep the vendor's original column names
    Do not rename columns to something friendlier before uploading. The original vendor spelling is what the corpus recognizes.

Normalization

What Forge does about it

The header row is doing the real work: each column name is looked up as a vendor tag. Without it there is nothing to resolve, so Forge rejects the file rather than positionally guessing — a positional guess would silently mislabel every column.


Connect

Normalize CSV ingest telemetry

One MCP endpoint serves every protocol adapter. 16,908 curated mappings, 366 canonical fields.

# normalize telemetry from CSV ingest — and 13 other protocols
claude mcp add --transport http forge https://mcp.foundrynet.io/mcp \
  --header 'Authorization: Bearer YOUR_FORGE_KEY'
✓ forge connected — 32 tools available

Related

Keep reading

Other CSV ingest codes: too_many_fields mixed types in a column timestamp not recognized

Other protocols: Modbus OPC UA MQTT / Sparkplug B FANUC FOCAS EtherNet/IP PROFINET / S7 BACnet/IP J1939 (CAN) MTConnect ROS 2 (DDS) SNMP MAVLink HTTP / REST

All error codes · All OEMs · All protocols

Industrial AI fails at the data layer. The Machine Agent explains why, weekly. Read it →
Get the thesis behind this infrastructure — The Machine Agent, weekly.