我正在尝试使用 python 打开 excel .xlsx 文件,但无法找到方法,我尝试使用 pandas 但它想要使用名为 NumPy 的库我尝试安装 numpy 但它仍然可以找不到 numpy.
我也尝试过使用 xlrd 库,但得到以下回溯:
Traceback (most recent call last):
File "C:\test.py", line 3, in <module>
book = open_workbook('test.xlsx')
File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 370, in open_workbook
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 1323, in getbof
raise XLRDError('Expected BOF record; found 0x%04x' % opcode)
XLRDError: Expected BOF record; found 0x4b50
我认为这是因为 XLRD 无法读取 .xlsx 文件?
有人有什么想法吗?
EDIT:
import csv
with open('test.csv', 'rb') as csvfile:
data = csv.reader(csvfile, delimiter=',')
for row in data:
print "------------------"
print row
print "------------------"
for cell in row:
print cell
也许您可以将 .xlsx 导出到 .csv 文件?
那么你可以尝试:
import csv
with open('file.csv','rb') as file:
contents = csv.reader(file)
[x for x in contents]
这可能有用:http://docs.python.org/2/library/csv.html#csv.reader
希望有帮助!
EDIT:
如果您想定位特定单元格,例如 F13,您可以创建一个像矩阵一样的嵌套列表,它们引用每个元素:
import csv
with open('file.csv','rb') as file:
contents = csv.reader(file)
matrix = list()
for row in contents:
matrix.append(row)
然后使用 F13 访问matrix[5][12]
.
P.S.:我没有对此进行测试。如果“行”是一个列表,每个单元格作为一个元素,则不断将所有行附加到矩阵中,因此第一个索引是行号,第二个索引是列号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)