How To Read Excel Files In Python?

A

Anand

Hello,

Can I get some help on how to read the excel files using python?

from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlWb = xlApp.Workbooks.Open("Read.xls")
xlSht = xlWb.WorkSheets(1)

But sadly, I am unable to proceed further about how to read the cells of the
worksheet of my excel file!

Thanks for your help and cooperation.

Best regards,
Anand
 
S

Steve Holden

Anand said:
Hello,

Can I get some help on how to read the excel files using python?

from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlWb = xlApp.Workbooks.Open("Read.xls")
xlSht = xlWb.WorkSheets(1)

But sadly, I am unable to proceed further about how to read the cells of the
worksheet of my excel file!

Thanks for your help and cooperation.

Best regards,
Anand
The best way to proceed is to record actions as macros in Excel and then
use the recorded VBA as a guide to the Pythin required.

Unfortunately the office APIs aren't very complete in their documentation,

Good places to look, as long as you don't mind rooting around:

http://msdn.microsoft.com/office/understanding/excel/default.aspx

http://msdn.microsoft.com/office/understanding/excel/documentation/default.aspx

regards
Steve
 
G

gene tani

Anand said:
Hello,

Can I get some help on how to read the excel files using python?

from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlWb = xlApp.Workbooks.Open("Read.xls")
xlSht = xlWb.WorkSheets(1)

But sadly, I am unable to proceed further about how to read the cells of the
worksheet of my excel file!

Thanks for your help and cooperation.

Best regards,
Anand

http://www.python.org/pypi/xlrd/0.3a1
and the online (activestate) cookbook has lots of hits, search on
"excel" "MS office" "CSV" "ODBC" etc
http://aspn.activestate.com/ASPN/search/searchRecipes?query=excel
 
D

Do Re Mi chel La Si Do

Hi!


I had few modif. your code :

import time
from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlApp.Visible=True
xlWb = xlApp.Workbooks.Open("Read.xls")
print "D3:",xlWb.ActiveSheet.Cells(3,4).Value
time.sleep(2)
xlWb.Close(SaveChanges=0)
xlApp.Quit()

This run OK on my computers.



@-salutations

Michel Claveau
 
S

Steve M

"""Derived from _Python Programming on Win32_ by Mark Hammond and Andy
Robinson"""

import win32com.client
import win32com.client.dynamic

class Excel:
def __init__(self, filename=None):
self.xlApp =
win32com.client.dynamic.Dispatch('Excel.Application')
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
self.xlBook = self.xlApp.Workbooks.Add()
self.filename = ''

def save(self, newfilename=None):
if newfilename:
self.filename = newfilename
self.xlBook.SaveAs(newfilename)
else:
self.xlBook.Save()

def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp

def show(self):
self.xlApp.Visible = 1

def hide(self):
self.xlApp.Visible = 0

def get_cell(self, sheet, row, col):
"get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value

def set_cell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value

def get_range(self, sheet, row1, col1, row2, col2):
"return a 2d array (i.e. tuple of tuples)"
sht = self.xlBook.Worksheets(sheet)
return sht.Range(sht.Cells(row1, col1), sht.Cells(row2,
col2)).Value

def set_range(self, sheet, leftCol, topRow, data):
bottomRow = topRow + len(data) - 1
rightCol = leftCol + len(data[0]) - 1
sht = self.xlBook.Worksheets(sheet)
sht.Range(sht.Cells(topRow, leftCol), sht.Cells(bottomRow,
rightCol)).Value = data
 
Joined
Jul 17, 2010
Messages
1
Reaction score
0
Tutorial w/code on parsing Excel docs with Python

Hello, I put a tutorial together that might be of interest to you. Check it out at blog.ajwilhelm.net/archives/7

Thanks!
AJ
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top