How to programmatically edit Excel sheets?
Solution 1
xlutils has a copy module that may be interseting for you
Solution 2
First off, what version of Excel? Excel2007+ use an XML file format, while Excel2003- used a proprietary binary format... so the tools to read and write these work in totally different ways.
If you're after the more recent xlsx files, then take a look at Eric' Gazoni's openpyxl project. The code can be found on bitbucket. The driving force behind this is the ability to read and write xlsx files from Python within a single library.
Even then, it reads the entire workbook, but allows you to modify cells before writing it back.
Simply put: the structure of an Excel file doesn't lend itself to easy editing.... it's not simply a case of changing a few characters.
Jim Jeffries
Software developer - mostly working with ruby, javascript and mongoDB at the moment, but have experience with Java, C#, C++, Oracle, Postgres, SQL Server and Python and dabble in Neo4J, Clojure, Haskell, Scala, Go and whatever else takes my fancy.
Updated on June 14, 2022Comments
-
Jim Jeffries almost 2 years
I need to edit an Excel workbook using python. Is there a way of doing this without reading in the workbook, editing what I want and the writing it back? i.e. is there a way I can do this on the fly, as I only need to edit a couple of values per sheet?
I have looked at
pyexcelerator
,xlrd
, andxlwt
, but they only seem to support (as far as I can work out) reading and writing not editing. I cannot usepywin32
as I am using linux.Any suggestions of libraries or particular ways of doing things?
-
Jim Jeffries over 13 yearsits an xls file that I need to edit.