TechEmperor95
TechEmperor95

Reputation: 399

Import data from excel spreadsheet to django model

I'm building a website that'll have a django backend. I want to be able to serve the medical billing data from a database that django will have access to. However, all of the data we receive is in excel spreadsheets. So I've been looking for a way to get the data from a spreadsheet, and then import it into a django model. I know there are some different django packages that can do this, but I'm having a hard time understanding how to use these packages. On top of that I'm using python 3 for this project. I've used win32com for automation stuff in excel in the past. I could write a function that could grab the data from the spreadsheet. Though what I want figure out is how would I write the data to a django model? Any advice is appreciated.

Upvotes: 20

Views: 52950

Answers (3)

Tms91
Tms91

Reputation: 4214

Why don't you use django-import-export?

It's a widget that allows you to import excel files from admin section.

It's very easy to install, here you find the installation tutorial, and here an example.

Upvotes: 12

MetalGearSamus
MetalGearSamus

Reputation: 81

Excel spreadsheets are saved as .csv files, and there are plenty of examples and explanations on how to work with them, such as here and here, online already.

In general, if you are having difficulty understanding documentation or packages, my advice would be to search for specific examples or see if whatever you are trying to do has already been done. Play with it to get a working understanding, and then modify it to fit your needs.

Upvotes: 5

panchicore
panchicore

Reputation: 11932

Use http://www.python-excel.org/ and consider this process:

  1. Make a view where user can upload the xls file.
  2. Open the file with xlrd. xlrd.open_workbook(filename)
  3. Extract, create dict to map the data you want to sync in db.
  4. Use the models to add, update or delete the information.

If you follow the process, you can learn a lot of how loading and extracting works and how does it fits with the requirements. I recommend to you first do the step 2 and 3 in shell to get more quicker experiments and avoid to be uploading/testing/error with a django view.

Hope this kickoff base works for you.

Upvotes: 17

Related Questions