I am developing an application where a user can just provide the path of there drop box file and access token and see the contents of the file. Is it possible to just read the contents of the file without actually downloading it.
import dropbox
import tempfile
import csv
dbx = dropbox.Dropbox(<access_token>)
metadata, f = dbx.files_download('/test/MOCK_DATA.csv')
filename = tempfile.NamedTemporaryFile(suffix='.csv').name
with open(filename, 'wb') as file:
file.write(f.content)
with open(filename) as file:
csv_reader = csv.reader(file, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
print(f'Column names are {", ".join(row)}')
line_count += 1
else:
print(row)
line_count += 1
print(f'Processed {line_count} lines.')
Currently i am able to read the contents but only after downloading it.
Using
files_download
is the right way to access file data using the Dropbox Python SDK. In your code you're then writing the file data to a local file, but that isn't required.The
csv.reader
method is documented as:So you can do something like this: