Jan 2021 Update
For Writing: use xlsxwriter (don’t use xlwt, it doesn’t support xlsx format.)
For Reading: use openpyxl (xlrd removed the support for xlsx in Dec 2020 due to security concerns.)
openpyxl supports writing too! So you may do everything with a single library. Xlsxwriter is faster in writing though. XlsxWriter creator, John McNamara, is actively involved in maintaining it.
June 2019
For Writing – xlsxwriter (don’t us xlwt, it doesn’t support xlsx Format.)
For Reading – xlrd (can read both xls and xlsx)
Prefer xlsx over xls
Use xlsx wherever possible. xls is the old Microsoft proprietary format. The last x in xlsx stands for XML. xlsx is a zipped Open XML open source file format. xlsx provides advanced formatting of xlsx files, viz. provides charts, formulae, conditional formatting, freezing of row/columns etc.
Other libraries
You can also use Pandas or Numpy if you want to create graphs and charts and do some advanced number crunching. Pandas internally uses XlsxWriter modules to write the files and xlrd to read.
Leave a Reply