Supported Files

What kinds of files can you upload to bit.io?

File types

At bit.io, we currently support the following file types:

  • .csv
  • .json
  • .xls, .xlsx
  • .zip
  • sqlite

CSVs

CSVs must be comma-delimited, with " as the quote character, if a quote character is used.

Google Sheets-exported CSVs and Excel-exported CSVs are supported.

JSON

bit.io will import JSON in the shape of a list of objects. Each object in the outer list represents a row. Each key in the object is a column header, and each value is a record in the created table. If a column header is missing in a row/object, a null value will be inserted at that column in that row.

[   
  { "column1": "value", "column2": 0, "column3": [ "val1", "val2" ] },
  { "column1": "value", "column2": 3, "column3": [ "val3", "val4" ] },
  { "column2": 4, "column3": [ "val5", "val6" ] }
]

will produce this table:

column1 (TEXT)column2 (BIGINT)column3 (JSON)
value0[ "val1", "val2" ]
value3[ "val3", "val4" ]
NULL4[ "val5", "val6" ]

If the outermost JSON container is an object ({}), not a list ([]), bit.io will infer that the table has one row, and the keys in this object are column names. For example,

{
  "name1": {"col1": 0, "col2": 1},
  "name2": {"col1": 1, "col2": 1},
  "name3": {"col1": 2, "col2": 1},
  "name4": {"col1": 3, "col2": 1}
}

will produce this table:

name1 (JSON)name2 (JSON)name3 (JSON)name4 (JSON)
{"col1": 0, "col2": 1}{"col1": 1, "col2": 1}{"col1": 2, "col2": 1}{"col1": 3, "col2": 1}

Excel

bit.io supports both .xls and .xlsx files.

Multi-sheet excel files are supported. One table will be created for every sheet.

Sqlite

If you have a sqlite database in STRICT mode, we will convert it into a Postgres database

Encoding

bit.io supports ASCII and UTF-8 encoded CSV files.