Comment on page
CSV
DoltHub provides a CSV API for fetching table data as CSVs. You can request a CSV for an individual table or a zip of all table CSVs at a specified commit or branch.
Please make sure to send your requests to
https://www.dolthub.com
instead of https://dolthub.com
.We will use an example DoltHub database, dolthub/us-jails and the Python
requests
library to explore it in the Python console.One Table
Download the table
incidents
from main
branch:import requests
local_file = 'incidents_main.csv'
res = requests.get('https://www.dolthub.com/csv/dolthub/us-jails/main/incidents')
with open(local_file, 'wb') as file:
file.write(res.content)
Download the table
incidents
at a commit hash:import requests
local_file = 'incidents_commit.csv'
res = requests.get('https://www.dolthub.com/csv/dolthub/us-jails/u8s83gapv7ghnbmrtpm8q5es0dbl7lpd/incidents')
with open(local_file, 'wb') as file:
file.write(res.content)
All Tables
Download a ZIP file of all database tables from the
main
branch:import requests
local_file = 'us-jails_main.zip'
res = requests.get('https://www.dolthub.com/csv/dolthub/us-jails/main')
with open(local_file, 'wb') as file:
file.write(res.content)
Download a ZIP file of all database tables at a commit hash:
import requests
local_file = 'us-jails_commit.zip'
res = requests.get('https://www.dolthub.com/csv/dolthub/us-jails/u8s83gapv7ghnbmrtpm8q5es0dbl7lpd')
with open(local_file, 'wb') as file:
file.write(res.content)
API tokens can be used to authenticate calls to the CSV API over Basic Authentication. This is useful for downloading data from private databases.
You can use the token in the header when downloading CSVs from a private database.
import requests
local_file = 'private_db_main.zip'
res = requests.get(
'https://www.dolthub.com/csv/owner/private-db/main',
headers={ "authorization": "token [TOKEN YOU COPIED]" },
)
with open(local_file, 'wb') as file:
file.write(res.content)
Last modified 2mo ago