I have this JSON file, currencies.json
:
{ "AUD": 1.5978, "BGN": 1.9558, "BRL": 4.0726, "CAD": 1.5868, "CHF": 1.1703, "CNY": 7.7975, "CZK": 25.405, "DKK": 7.4478, "GBP": 0.87285, "HKD": 9.6889, "HRK": 7.4398, "HUF": 312.9, "IDR": 16993.0, "ILS": 4.2984, "INR": 80.255, "ISK": 122.1, "JPY": 129.74, "KRW": 1330.3, "MXN": 22.88, "MYR": 4.8365, "NOK": 9.5715, "NZD": 1.7024, "PHP": 64.64, "PLN": 4.2262, "RON": 4.663, "RUB": 70.539, "SEK": 10.194, "SGD": 1.6216, "THB": 38.495, "TRY": 4.888, "USD": 1.2346, "ZAR": 14.52 }
And this connection in Python:
from pymongo import MongoClient client = MongoClient('localhost', 27017) db = client['countries_db'] collection_currency = db['currency']
My db name is countries_db
with the currency
collection.
Is there a way to import the file to the db using python
?
Thanks for your help.
Advertisement
Answer
You can read data from file and insert it into collection using insert_one method:
import json from pymongo import MongoClient client = MongoClient('localhost', 27017) db = client['countries_db'] collection_currency = db['currency'] with open('currencies.json') as f: file_data = json.load(f) # if pymongo < 3.0, use insert() collection_currency.insert(file_data) # if pymongo >= 3.0 use insert_one() for inserting one document collection_currency.insert_one(file_data) # if pymongo >= 3.0 use insert_many() for inserting many documents collection_currency.insert_many(file_data) client.close()