I have about 4000 records that i need to upload to the datastore. They are currently in CSV format. I'd appreciate if someone would point me to or explain how to upload data in bulk to GAE.
Thank you very much. Help appreciated.
I have about 4000 records that i need to upload to the datastore. They are currently in CSV format. I'd appreciate if someone would point me to or explain how to upload data in bulk to GAE.
Thank you very much. Help appreciated.
You can use the bulkloader.py tool:
The bulkloader.py tool included with the Python SDK can upload data to your application's datastore. With just a little bit of set-up, you can create new datastore entities from CSV files.
I don't have the perfect solution, but I suggest you have a go with the App Engine Console. App Engine Console is a free plugin that lets you run an interactive Python interpreter in your production environment. It's helpful for one-off data manipulation (such as initial data imports) for several reasons:
I suggest something like the following:
csv
module to chop up your data until you have a list of useful data structures (most likely a list of lists or something like that)for
loop, iterating through each each data structure in the list:
You should find that after one iteration through #5, then you can either copy and paste, or else write simple functions to speed up your import task. Also, with fetching and processing your data in steps 5.1 and 5.2, you can take your time until you are sure that you have it perfect.
(Note, App Engine Console currently works best with Firefox.)
I'm having a problem just like the original poster. I'm using the Eclipse Plugin for Java. I've been trying to solve it by running my application on my local machine. That creates a local_db.bin. I've been trying to find ways to upload the contents of local_db.bin. The only lead I have is to use the bulkuploader.py. The big problem is that's for the python Google app engine. Since I'm using the java Google app endine, I'm not really sure bulkuploader.py is going to allow me to communicate with my hosted app that was created in Java.