我在尝试使用Pandas的read_excel函数时遇到了ImportError。
我有一个完美读取CSV文件和read_csv函数的脚本,使用argparse允许命令行参数。我以为我会尝试修改这个脚本,以便它可以读取Excel文件。
这是适用于CSV文件的代码。
df = pd.read_csv(args.src, header=0, skiprows=Datarow, na_values=bad_data,
usecols=[timecol, SPcol, PVcol, MVcol], names=['Timestamp', 'SP', 'PV', 'MV'])
我的代码允许用户选择他们想要从中读取数据的起始行和列,并将它们解析为新的数据框。一切顺利。
使用read_excel函数,我最初想出了这个:
df = pd.read_excel(args.src, skiprows=Datarow, na_values=bad_data,
parse_cols=[timecol, SPcol, PVcol, MVcol], header=Headerrow)
我删除了header参数,因为它不是必需的。我根据Pandas文档将usecols更改为parse_cols。在read_csv函数中,我使用了列标题的自定义名称,但看起来read_excel无法执行此操作。所以我用header参数替换了这个功能,并允许用户在包含列名的Excel源文件中设置行号。
当我运行这个脚本时,我得到了这个Traceback:
Traceback (most recent call last):
File "cleanse.py", line 74, in <module>
parse_cols=[timecol, SPcol, PVcol, MVcol], header=Headerrow)
File "/usr/local/lib/python2.7/site-packages/pandas/io/excel.py", line 163, in read_excel
io = ExcelFile(io, engine=engine)
File "/usr/local/lib/python2.7/site-packages/pandas/io/excel.py", line 187, in __init__
import xlrd # throw an ImportError if we need to
ImportError: No module named xlrd
我在另一篇帖子中看到有人遇到此错误时回复了“pip install xlrd”,所以我这样做了。同样的问题。然后我开始逐个删除可选参数。同样的问题。我直接回到源文件参数,仍然得到相同的错误。
任何提示或建议都将不胜感激。