You have a misplaced parenthesis.  The working code has str (...Cell(...) 
).split() and the failing code has str (...Cell(...).split() ) -in other words, 
the bad code has split() applied to the argument of str() rather than the 
result of str().

               paul

From: python-win32-bounces+pkoning=equallogic....@python.org 
[mailto:python-win32-bounces+pkoning=equallogic....@python.org] On Behalf Of 
cool_go_blue
Sent: Thursday, March 08, 2012 12:15 PM
To: python-win32@python.org
Subject: [python-win32] a trivial question

I try to use comprehensions when I am learning Python. After opening a word 
document, i try to read the 2nd column of a table for each row. I print out the 
words as follows:


for row in range(1,len(self.doc.Tables(1).Rows)+1):

   for word in str(self.doc.Tables(1).Cell(row,2)).split():

      if word not in stopwords:
         print word

But I get a runtime error when I have the following code:


content = [[word for word in str(self.doc.Tables(1).Cell(row,2).split()) if 
word not in stopwords]

for row in range(1,len(self.doc.Tables(1).Rows)+1)]



The error is as follows:



Traceback (most recent call last):

File "J:\MyProjects\Python\VectorSpaceTry\src\ReadCorpus.py", line 111, in 
<module>

array.setup()

File "J:\MyProjects\Python\VectorSpaceTry\src\ReadCorpus.py", line 79, in setup

for row in range(1,len(self.doc.Tables(1).Rows)+1)

File 
"F:\Softwares\Working\Languages\Python27\lib\site-packages\win32com\client\__init__.py",
 line 465, in __getattr__

raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))

AttributeError: '<win32com.gen_py.Microsoft Word 14.0 Object Library.Cell 
instance at 0x51383312>' object has no attribute 'split'



what is wrong with my code? Thanks.

B.


_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to