Issues with in try except and excel spreadsheet

Rhodri James rhodri at kynesim.co.uk
Tue Mar 14 11:59:19 EDT 2017


On 14/03/17 14:26, padawanwebdev at gmail.com wrote:
> As an example, If I have the excel file open and there is data that needs to be written to the excel file than the exception will catch this error:
>
> IOError: [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'

Ah yes, you did say that, sorry I missed it.

> essentially, because the excel file is open during the process of writing to the excel file the "try" will keep attempting to write to the excel until its closed. So, if there were 5 attempts to write the data to the excel file, then after the excel file is closed that data will be written to the excel file n+1  times (6 times). When this happens it shows 6 rows of the newly written data, however, it's the same data. To illustrate this here is the output from the shell line while the excel file is open and when it's closed. Note, When I close it it will say Report Updated.

Ah, no.  According to your code, successfully writing to the file is 
what causes "Report Updated" to be printed, not the closing of the file. 
  It's important to be accurate about things like that, otherwise you 
spend hours looking for a connection in entirely the wrong place.

>
> Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
> Type "copyright", "credits" or "license()" for more information.
>>>> ================================ RESTART ================================
>>>>
> -1
> Test = True
>
> error [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'
> -1
> Test = True
>
> error [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'
> -1
> Test = True
>
> error [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'
> -1
> Test = True
>
> error [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'
> -1
> Test = True
>
> error [Errno 13] Permission denied: 'C:\\Users\\Administrator\\Desktop\\Version5.0\\DeviceTrackerReport45.xlsx'
> -1
> Test = True
>
> Report Updated
>
> This is what's written to the excel file:
>
> 3	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:03:46
> 4	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:04:07
> 5	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:04:27
> 6	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:04:47
> 7	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:05:07
> 8	NB19097	24.221.51.225	376_SouthYard	373_Reseda	03-14-2017	07:05:28
>
> As you can see from the shell line the number of attempts made, and from the excel file the number of rows taken, that there is a correlation between the attempts and what gets written to the excel file.

The interesting thing is that there is only one write.  This suggests 
that the information is being appended to another file somewhere, or 
held in some other way that persists between invocations of assetMapping.py.

Now I'm not going to hunt through your code for the answer, because 
there's too much of it and frankly the overly long lines don't survive 
email well on my machine.  However, you should look for the tidying up 
in your code that doesn't get done because the attempted write throws an 
exception.

-- 
Rhodri James *-* Kynesim Ltd


More information about the Python-list mailing list