DocsGuidesImporting data

Guide

Importing data

Synchronous, batched and job-based imports, with the limits and response shapes for each.

Three modes, chosen by file size and whether you need to wait for the result.

ModeFile sizeBlockingUse when
Synchronousup to 20 MBYesSmall files where you want the row counts immediately.
BatchedanyYesLarge CSV files; the SDK splits and uploads them for you.
Asynchronous jobanyNoLarge files where you want to poll for completion.

Synchronous import#

python
bulk = ac.get_bulk_instance(ORG_ID, WORKSPACE_ID)

response = bulk.import_data(
    VIEW_ID,
    "TRUNCATEADD",      # import_type
    "csv",              # file_type
    True,               # auto_identify
    "/home/user/Sales.csv",
)
print(response)

Import types#

ValueBehaviour
APPENDAdd every row. Duplicates are kept.
TRUNCATEADDDelete all existing rows, then add.
UPDATEADDUpdate rows matching the configured key, add the rest.

Sample response#

json
{
  "status": "success",
  "summary": "Import data",
  "data": {
    "importSummary": {
      "totalColumnCount": 8,
      "selectedColumnCount": 8,
      "totalRowCount": 12500,
      "successRowCount": 12498,
      "warnings": 2,
      "importOperation": "updateadd"
    },
    "importErrors": "2 rows were skipped: date value did not match the column format."
  }
}

Batched import#

For files over 20 MB. The SDK splits the file, uploads each batch, and returns a job id.

python
bulk = ac.get_bulk_instance(ORG_ID, WORKSPACE_ID)

job_id = bulk.import_data_as_batches(
    VIEW_ID,
    "APPEND",
    True,
    "/home/user/large-sales.csv",
    100000,             # rows per batch
)

print(bulk.get_import_job_details(job_id))

Batch size is counted in rows. Keep each resulting batch under 100 MB.

Sample job response#

json
{
  "status": "success",
  "summary": "Get import job details",
  "data": {
    "jobId": "35130000001343088",
    "jobStatus": "JOB COMPLETED",
    "importSummary": {
      "totalRowCount": 2400000,
      "successRowCount": 2400000,
      "warnings": 0
    }
  }
}

jobStatus is one of JOB NOT STARTED, JOB IN PROGRESS, JOB COMPLETED or JOB FAILED.

Zoho Analytics Python SDK · REST API v2 Generated 2026-10-27