我不知道为什么我无法导入 .ods 文件

TON*_*NIA 0 python xlrd xlsx python-3.x ods

我不能使用 Python 包“xlrd”。

我想处理一个excel数据和准备好的ods文件并保存在有这个python文件的目录中。我试图导入 ods 文件,但出现以下错误。

Python代码

import xlrd

book = xlrd.open_workbook("lung.ods")
Run Code Online (Sandbox Code Playgroud)

错误

 In [21]: runfile('/home/****/Desktop/working/survival10.py', wdir='/home/****/Desktop/working')
Traceback (most recent call last):

 File "<ipython-input-21-7a27e6491452>", line 1, in <module>
runfile('/home/****/Desktop/working/survival10.py', wdir='/home/****/Desktop/working')

File "/home/****/anaconda3/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 705, in runfile
execfile(filename, namespace)

File "/home/****/anaconda3/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "/home/****/Desktop/working/survival10.py", line 16, in <module>
book = xlrd.open_workbook("lung.xlsx")

File "/home/****/anaconda3/lib/python3.6/site-packages/xlrd/__init__.py", line 150, in open_workbook
raise XLRDError('Openoffice.org ODS file; not supported') # in the xlsx's case

XLRDError: Openoffice.org ODS file; not supported
Run Code Online (Sandbox Code Playgroud)

然后我将文件从 ods 类型更改为 xlsx 类型并对其进行编码。

book = xlrd.open_workbook("lung.xlsx")
Run Code Online (Sandbox Code Playgroud)

但发生了同样的错误。文件的pass是“/home/****/Desktop/working”

我正在使用 Anaconda3、Python 3.6 并且已经安装了模块“xlrd”。

请告诉我这有什么问题。

CPB*_*PBL 6

这是使用 Pandas 的一个不错的选择,这是处理表格数据的好方法。

只需安装odfpypandas包(使用pip install ...或等),然后使用read_excel()带有engine='odf'选项的Pandas功能。例如:

import pandas as pd
df=pd.read_excel('lung.ods', engine='odf')
Run Code Online (Sandbox Code Playgroud)

请参阅https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#opendocument-spreadsheets