Skip to main content

The XLRD python module for reading the spreadsheet documents - Introduction

xlrd module for python is an awesome module and I think it is a must for each and every pythonist to have a basic knowledge of this module. This module reads the data in the excel sheets or sometimes called as spreadsheets and thus the data can be used for computation(s) in our python scripts.

But a serious problem I have faced is, when I wanted to use this module it had a documentation which was not in the style of readthedocs. There was one xlrd readthedocs but at the time of writing this post it was empty. Eventhough I searched the internet(google) and have learnt on this module myself, I wanted to create and share my knowledge as a documentation for this module in the form of readthedocs not using the sphinx but manually writing each and everything. A harley davidson style.

Encoding used

This module(xlrd) uses unicode encoding. It is known that from Excel 97 onwards the data is stored in unicode format but the prior versions had some other encoding. But don't worry xlrd will read the data and convert it to unicode. If xlrd is not able to recognize the encoding then it will assume that the encoding is ASCII. If the encoding is not ASCII then it will raise a UnicodeDecodeError, in which case the user has to tell the encoding in which the excel sheet has been saved. We will see how you will supply the encoding format in upcoming sections.

Dates in Excel Spreadsheets

You might think that there are date objects in the excel sheets like in the same way we have python date objects. But in reality it has been found that there are no such data types. Dates are stored as float point numbers. Similar to the Unix time stamp where the value is counted from 00:00:00 Coordinated universal Time, January 1 1970, in excel sheets on windows the dates are stored from January 1 1970, 00:00:00 UTC, and on Macintosh the dates are stored from January 1, 1904, 00:00:00 UTC. Don't worry most of the times xlrd module will look after these things and you don't have to do any extra coding. We will see how to get the date values in excel sheets in further posts.
If you want to know more about the problems that the xlrd development team faced because of the excel sheets storing the data in float type format, you can have a look here: Dates in excel spreadsheets. I feel that it is worth looking at it because if you get any error in your program then you can Handle the errors easily.
All the remaining things are easy to understand, when you will be reading the docs, I will explain them with the code so that you can understand it very easily. Don't worry I assure you that if you can spend some time with this documentation you will gain a good knowledge of xlrd python module.

As always I have tried to explain all the things in this post in a way that it is easy to understand for everyone. In case if you didn't understand anything or have any doubt then comment in the comment box below and I will reply to your comment as soon as possible. You can also contact me from here: Contact me
Also please comment on how I can improve this post such that even the beginners will be able to understand this post easily. Tell me if I have made any typo or have made any mistake or if you want me to add anything which I have missed.

"Knowledge is gained by sharing the knowledge, not hoarding it."
Thank you, Have a nice day :)

Popular posts from this blog

Project Euler Problem 62 solution with python

Cubic permutations ¶ The cube, 41063625 (3453), can be permuted to produce two other cubes: 56623104 (3843) and 66430125 (4053). In fact, 41063625 is the smallest cube which has exactly three permutations of its digits which are also cube. Find the smallest cube for which exactly five permutations of its digits are cube.

Project Euler Problem 67 Solution with Python

Maximum path sum II By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. 3 7 4 2 4 6 8 5 9 3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom in triangle.txt (right click and 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred rows.

Add/Embed SVG to Blogger website

In this post I will tell you my method(trick) of adding SVG images in a blogger website or blog. Before starting , the first thin g I am assu m ing is that you are aware of SVG if you are here. If not please see S calable V ec tor G raphics Recently when I tried to embed a SVG image for a post on pygal, I tried uploading the SVG file and blogger Image uploader came up with an error, because of which I had to find some other way.  SVG File upload Error in Blogger  I started sea rc hing Google " Embed SVG in Blogger " . I found blogorrhea , w h ich gave some i nformatio n on add ing SVG directly as a markup , which worked , but I faced another problem using this . Also th is guy has used lot of Javascript which was confusin g for me, being new to using SVG.   So I first t houg ht of learning on h ow to embed SVG in HTML and t his on e worked out. Actually we can embed SVG in HTML i n following ways: Using Object tag Using Iframe tag Using embed...