Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 995
TechEmperor95 Avatar asked Jun 24 '16 17:06

TechEmperor95


People also ask

How can I read XLSX file in Django?

Here we are using openpyxl module to read Excel file in Django. First get the excel file from FILES in request and then get the desired worksheet from the workbook. Now iterate over the rows in worksheet and for each row iterate over the cells and read the value in each cell.

Can I import data from Excel to Python?

You can easily import an Excel file into Python using Pandas. In order to accomplish this goal, you'll need to use read_excel.

How Django read pandas Excel file?

The Quick Answer: Use Pandas read_excel to Read Excel Files To read Excel files in Python's Pandas, use the read_excel() function.


2 Answers

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.

like image 133
panchicore Avatar answered Sep 17 '22 11:09

panchicore


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.

like image 28
Tms91 Avatar answered Sep 19 '22 11:09

Tms91