from xlrd import *
book = open_workbook("File_1.xls")
#sheet = book.sheets()[0]
#book.sheets() returns a list of sheet objects... alternatively...
#sheet = book.sheet_by_name("qqqq") #we can pull by name
sheet = book.sheet_by_index(0) #or by the index it has in excel's sheet collection
r = sheet.row(0) #returns all the CELLS of row 0,
c = sheet.col_values(0) #returns all the VALUES of row 0,
for i in xrange(sheet.nrows):
print sheet.row_values(5)
我正在读取我桌面上的文件,但是当我运行用python编写的脚本时,它给出了错误
Traceback (most recent call last):
File "C:\Python26\ReadXLS.py", line 6, in <module>
book = open_workbook("File_1.xls")
File "C:\Python26\Lib\site-packages\xlrd\__init__.py", line 449, in open_workbook
ragged_rows=ragged_rows,
File "C:\Python26\Lib\site-packages\xlrd\__init__.py", line 941, in biff2_8_load
f = open(filename, open_mode)
IOError: [Errno 2] No such file or directory: 'File_1.xls'
答案 0 :(得分:2)
在运行Python之前需要cd Desktop
,因为您的错误消息显示该文件不存在:
No such file or directory: 'File_1.xls'
另一个修复方法是将Python文件移动到与Excel文件相同的文件夹中。
答案 1 :(得分:1)
验证脚本和文件是否在目录中,或指定excel文件的绝对路径。
另请注意,如果您尝试相对打开文件,则可以使用当前工作目录来完成,其中初始化了python解释器。
如果您需要使用较新的xlsx格式,我还建议openpyxl
http://packages.python.org/openpyxl/。
答案 2 :(得分:1)
如果您遇到路径问题,请尝试在程序中找到当前路径
>>> import os.path
>>> import os
>>> os.curdir
'.'
>>> os.path.abspath(os.curdir)
'/Users/xxxx/temp'
>>>
这就是它在Unix上的表现。它将在Windows上显示不同。
这样你就会知道,如果那是你当前文件的放置位置。
代码:
from xlrd import *
import os.path
import os
print os.path.abspath(os.curdir)
book = open_workbook("File_1.xls")
#sheet = book.sheets()[0]
#book.sheets() returns a list of sheet objects... alternatively...
#sheet = book.sheet_by_name("qqqq") #we can pull by name
sheet = book.sheet_by_index(0) #or by the index it has in excel's sheet collection
r = sheet.row(0) #returns all the CELLS of row 0,
c = sheet.col_values(0) #returns all the VALUES of row 0,
for i in xrange(sheet.nrows):
print sheet.row_values(5)