python调用win32com.client时提示:No module named win32com.client
本人是python菜鸟,根本没学过,因为要用到所以搜索了段代码,链接如下:http://hi.baidu.com/%C0%E1%B9%FD%CE%DE%BA%DBno1/...
本人是python菜鸟,根本没学过,因为要用到所以搜索了段代码,链接如下:
http://hi.baidu.com/%C0%E1%B9%FD%CE%DE%BA%DBno1/blog/item/b11e5b186e3143a94aedbc15.html
代码如下:
from win32com.client import Dispatch
import win32com.client
class easyExcel:
"""A utility to make it easier to get at Excel. Remembering
to save the data is your problem, as is error handling.
Operates on one workbook at a time."""
def __init__(self, filename=None):
self.xlApp = win32com.client.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 GetExcelLineCount(self):
count = 0
sht = self.xlBook.Worksheets('第一轮')
while True:
if sht.Cells(count + 1, 1).Value == None:
break
count += 1
return count
def getCell(self, sheet, row, col):
"Get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value
def setCell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value
def getRange(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
if __name__ == "__main__":
xls = easyExcel('E:/pythonWorkspace/test.xls')
lineNum = xls.GetExcelLineCount()
for i in range(1,lineNum + 1):
for j in range(1,8):
print ,xls.getCell('第一轮', i, j)
xls.save()
xls.close()
运行时,提示:from win32com.client import Dispatch
ImportError: No module named win32com.client
环境:Win7 专业版
python 3.2.2+IDEL
我知道是缺少win32com.client,我想得到的是如何才能成功加载win32com.client
安装pywin32-216.1.win32-py3.2.exe 之后,原来的问题解决,但是出现新的问题:
File xxx, line 1, in <module>
from win32com.client import Dispatch
File "D:\Program Files\Python32\lib\site-packages\win32com\__init__.py", line 5, in <module>
import win32api, sys, os
ImportError: No module named win32api 展开
http://hi.baidu.com/%C0%E1%B9%FD%CE%DE%BA%DBno1/blog/item/b11e5b186e3143a94aedbc15.html
代码如下:
from win32com.client import Dispatch
import win32com.client
class easyExcel:
"""A utility to make it easier to get at Excel. Remembering
to save the data is your problem, as is error handling.
Operates on one workbook at a time."""
def __init__(self, filename=None):
self.xlApp = win32com.client.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 GetExcelLineCount(self):
count = 0
sht = self.xlBook.Worksheets('第一轮')
while True:
if sht.Cells(count + 1, 1).Value == None:
break
count += 1
return count
def getCell(self, sheet, row, col):
"Get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value
def setCell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value
def getRange(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
if __name__ == "__main__":
xls = easyExcel('E:/pythonWorkspace/test.xls')
lineNum = xls.GetExcelLineCount()
for i in range(1,lineNum + 1):
for j in range(1,8):
print ,xls.getCell('第一轮', i, j)
xls.save()
xls.close()
运行时,提示:from win32com.client import Dispatch
ImportError: No module named win32com.client
环境:Win7 专业版
python 3.2.2+IDEL
我知道是缺少win32com.client,我想得到的是如何才能成功加载win32com.client
安装pywin32-216.1.win32-py3.2.exe 之后,原来的问题解决,但是出现新的问题:
File xxx, line 1, in <module>
from win32com.client import Dispatch
File "D:\Program Files\Python32\lib\site-packages\win32com\__init__.py", line 5, in <module>
import win32api, sys, os
ImportError: No module named win32api 展开
5个回答
展开全部
你没安装那个win32com的插件吧,出来excel可以用xlrd和xlwt不错
追问
安装pywin32-216.1.win32-py3.2.exe,还要安装别的吗?
我看一下xlrd和xlwt,是不是更方便点。
其实我就想读Excel表,连写都不用
追答
其实方便程度差不多,个人爱好,推荐用xlrd
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
win32api 在
\lib\site-packages\win32\win32api.pyd
目录下,你看下文件在不在再说吧
\lib\site-packages\win32\win32api.pyd
目录下,你看下文件在不在再说吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多追问追答
追问
安装的就是它
追答
看了看你的代码应该是用了那个easyExcel吧,
把前面修改成
import win32com.client
from win32com.client import constants
试试,我也用的这个。
或者启动一个python命令行
然后在里面输入
import win32com.client
看看是否出错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
安装pywin32就有win32api,
Python32\lib\site-packages\win32\win32api.pyd
Python32\lib\site-packages\win32\win32api.pyd
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
操作excel的话 可以用pyExcelerator这个第三方包 读写excel都很简单 我一直都用这个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |