Skip to main content
To upload data in CSV format, the Domo specification used for representing data grids in CSV format closely follows the RFC standard for CSV (RFC-4180). We extend the RFC in the following ways:
  • Optionally use line feeds without a carriage return as a row separator.
  • Support of Unicode characters.
All data uploaded in this format must comply with a schema that is supplied separately from the upload. For example the CSV must comply with the correct number of columns and field types.

Specifications

  • file = [header CRLF] record *(CRLF record) [CRLF]
  • header = name *(COMMA name)
  • record = field *(COMMA field)
  • name = field
  • field = (escaped | +—escaped)
  • escaped = DQUOTE *(TEXTDATA | COMMA | CR | LF | 2DQUOTE) DQUOTE
  • non-escaped = *TEXTDATA
  • COMMA = %x2C
  • DQUOTE = %x22
  • 2DQUOTE = DQUOTE DQUOTE
  • CRLF = CR LF | LF
  • CR = %x0D
  • LF = %x0A
  • TEXTDATA = ![COMMA | CR | LF | DQUOTE]

Examples

CSVComment
a,b,cOne row with three columns
"a",b,cEscaped first column. Quotes do not count as part of the field
"a,a",b,cOne row with three columns. The first field is escaped and contains a comma as part of its text.
"a<br>a",b,cOne row with three columns. The first field is escaped and contains a line feed as part of its text.
"a""a",b,cThe first field is escaped and contains an escaped quote as part of its text.
???,b,cUnicode characters as part of the first field.
a,b,cOne row with the optional terminating line feed. It is recommended that all uploads to Domo include the optional terminating line feed. If not supplied Domo may automatically include the linefeed.
a,b,c<br>a,b,cMultiple rows.
,,One row with three null values.
"","",""One row with three empty string values.

Examples of Invalid CSV

CSVComment
a",b,cQuote appearing in a non-escaped field.
"a"a",b,cUnescaped quoted appearing in a non-escaped field.
a,<br>b,cLine feed appearing in a non-escaped field. This could also be considered missing columns in row one and two.
a,b,c<br><br>a,b,cMissing fields in the second row.

Next Steps


Explore more about the DataSet API now that you know how to import and export data.

Need additional help?


No problem, we’d love to help. Explore our documentation, answers to frequently asked questions, or join other developers in Domo’s Developer Forum.  For further help, feel free to email us or contact our sales team.