我用Pandas来读取这个excel文件,这个文件是通过一个自动化脚本从一个网站下载的。
import pandas as pd
df = pd.read_excel('CallHistory.xlsx')
但它显示以下错误:
ValueError Traceback (most recent call last)
c:\Users\minhviet\Box\Telio\vietpm\python\crawler\test_crawl_3.ipynb Cell 7' in <module>
1 import pandas as pd
----> 2 df = pd.read_excel('CallHistory.xlsx')
3 df
File c:\Users\minhviet\Anaconda3\lib\site-packages\pandas\util\_decorators.py:311, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs)
305 if len(args) > num_allow_args:
306 warnings.warn(
307 msg.format(arguments=arguments),
308 FutureWarning,
309 stacklevel=stacklevel,
310 )
--> 311 return func(*args, **kwargs)
File c:\Users\minhviet\Anaconda3\lib\site-packages\pandas\io\excel\_base.py:364, in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, storage_options)
362 if not isinstance(io, ExcelFile):
363 should_close = True
--> 364 io = ExcelFile(io, storage_options=storage_options, engine=engine)
365 elif engine and engine != io.engine:
366 raise ValueError(
367 "Engine should not be specified when passing "
368 "an ExcelFile - ExcelFile already has the engine set"
...
127 if value not in self.values:
--> 128 raise ValueError(self.__doc__)
129 super(Set, self).__set__(instance, value)
ValueError: Value must be one of {'visible', 'hidden', 'veryHidden'}
我搜索此错误并找到一些信息。似乎工作表的状态是错误的。https://github.com/exceljs/exceljs/issues/678
我试着在Excel中打开这个文件,编辑一些东西并保存,然后我就可以成功地从Pandas中读取它,但打开这个文件是自动化脚本的一部分,所以使用Excel打开和编辑是不可能的。
大家可以在这里下载文件,希望任何人都可以找到一种方法来处理这个文件的Python:https://app.box.com/s/8vds9zmhhxhn18p0ngodqeepfcgpzevv
2条答案
按热度按时间a64a0gku1#
我找到了解决方案。我尝试通过Pandasread_excel用不同的引擎(openpyxl和xlrd)读取这个文件。Openpyxl显示我以上错误(ValueError:值必须是{“visible”、“hidden”、“veryHidden”}之一),而xlrd显示另一个错误(KeyError:我搜索了一下,发现这个错误在xlrd 1.2.0版本之后但在2.0版本之前(不再支持xlsx文件)的提交中得到了修复,所以这个修复没有出现在xlrd的任何官方版本中。以下是关于这个修复的信息:https://github.com/python-excel/xlrd/commit/6ec98fc74796a6439c6dd64ed71597a3c50d4986#diff-74efe2926535c21edf8087564ce132fe
所以我安装了xlrd的这个修复提交。在安装这个版本之前,一定要删除其他版本的xlrd。
然后我用引擎xlrd读了这个文件,它工作了。
pgccezyw2#
在
C:
之后,仅使用一个/
对我有效。