You are here: Popular Formats > CSV (Comma-Separated Value) Reader/Writer

CSV (Comma-Separated Value) Reader/Writer

FME provides reader and writer access to files in CSV format.

Overview

Comma-Separated Value, or CSV, is a way to store structured information in an ASCII file format, making it a very simple database. CSV is a popular format for exchanging information between spreadsheets, databases, and other software applications.

In FME, CSV is treated as a database format. Each line in the file is a record, with a comma (or other) character between each field within the record.

There is often a header line to provide names for the fields. For example:

company, address, telephone, web

Safe Software Inc, 132nd Street Surrey BC, 604-501-9985, www.safe.com

Files do not have to be comma-separated: FME can recognize any file with any separator or delimiter character, as long as you specify that character in the parameter settings.

CSV File Extensions

By convention, CSV files use the .csv extension, but the reader and writer can use any extension.

The CSV reader can read from a gzipped file with the extension .csv.gz, and the CSV writer can write a gzipped file if the extension of the destination file ends with .gz.

Reader Overview

The CSV reader produces an FME feature for each line in each the CSV files residing in the given folder. The CSV reader first scans the folder for all CSV files that are defined in the workspace.

If IDs lines are specified, the CSV reader processes only the specified files; otherwise, it reads all files in the folder. Optionally a single CSV file can be given in the workspace. In this case, only that CSV file is read.

The CSV reader can also read data consisting of fixed width columns without a separator, provided that the character spacing the data (usually a space character) does not appear in the data itself. Use the parameter Remove Duplicate Separators. (An alternative method is to use the Textfile reader and an AttributeSplitter transformer.)

Creating Spatial Features

CSV files often contain spatial data listed as a series of X/Y coordinates. To turn these non-geometry features (records) into spatial features, you must use FME transformers.

Writer Overview

The CSV writer writes all attributes of a feature to an CSV file. Features of different types are written to different CSV files.

To turn records into spatial features, see the tips in the CSV format overview.

To view non-spatial data in the Data Inspector application, select Tools > Select All Features with No Geometry.

A common user requirement is to convert data held as plain X/Y coordinates into true spatial features. However, sometimes the opposite is required: spatial features must be converted into a plain text, comma-delimited (CSV) file. This FME Knowledge Center article gives details.

FME Knowledge Center

Search CSV