Working with Excel inside Python

Bruno Desthuilliers bdesth.quelquechose at free.quelquepart.fr
Sun Jan 7 23:40:46 CET 2007


AleydisGP at gmail.com a écrit :
> I have a .plt file (which is a tab delimited ASCII file) and I want to
> format it to get a .dbf with data in rows and columns, detele some
> rows/columns and substitute decimal '.' with ','. All this using Python

Then you may want to have a look here:
http://docs.python.org/lib/module-csv.html
and here:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/362715

> (I'm using Pythonwin).
> 
> The .plt file looks like this:
> 
> * ISCST3 (02035): Tersa
> * MODELING OPTIONS USED:
> *  CONC                    URBAN ELEV         DFAULT
> 
> *         PLOT FILE OF ANNUAL VALUES FOR SOURCE GROUP: ALL
> *         FOR A TOTAL OF   400 RECEPTORS.
> *         FORMAT: (3(1X,F13.5),1X,F8.2,2X,A6,2X,A8,2X,I8.8,2X,A8)
> *        X             Y      AVERAGE CONC   ZELEV
> *  ___________   ___________   ___________   ______
>   430342.00000 4580537.00000       0.25426    19.28
>   430842.00000 4580537.00000       0.27233    14.72
>   431342.00000 4580537.00000       0.30566     2.84
>   431842.00000 4580537.00000       0.30379     0.21
>   432342.00000 4580537.00000       0.27413     1.13
>   432842.00000 4580537.00000       0.25462     0.00
>   433342.00000 4580537.00000       0.25114     0.00
>   433842.00000 4580537.00000       0.28779     0.00
>   434342.00000 4580537.00000       0.29707     0.00
>   434842.00000 4580537.00000       0.31067     0.00
>  .... 
> 
> I recorded a macro in Excel with the whole process, but when trying to
> translate it into Python I get syntax errors which I don't know how to
> solve.
> 
> This is my python code:
> ## ------------------------------------------
> import win32com.client
> excel = win32com.client.Dispatch("Excel.Application")
> excel.Visible = 0
> workbook=excel.Workbooks.Open('D:\AN00GALL.plt')
> excel.Columns("A:A").Select
> excel.Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
>         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
>         ReplaceFormat:=False

Ok. Where is your attempt to "translate" to Python, exactly ? So far, 
except for the first 2 lines, it's vb code, not Python. Please start by 
learning Python, then start doing the translation - and then we'll be 
glad to help you.

(snip vb code)

> Any ideas on what am I doing wrong?

Yes : trying to feed vb code to the Python interpreter.




More information about the Python-list mailing list