ExcelFiles.jl 或ExcelReaders.jl可以读取xls文件。由于依赖于Python的xlrd包,安装后,还需要进行下设置。下面以ExcelReader为例,简述步骤。
安装ExcelFiles
# ]激活pkg环境
add ExcelFiles
配置PyCall
官方页面教程,没直接提到这一点。在遇到报错后,才补上了这个配置。
第1小步:配置Python环境。如果你有现成环境,不妨直接用现成的。
以conda为例,创建环境,并安装xlrd包。一定留意看下注释行。
conda create -n py310 python=3.10 # 创建环境,建议3.10
conda activate py310 # 激活环境
pip install xlrd #注意:最新版xlrd仅支持xls格式
# pip install xlrd==1.2.0 # 旧版支持xls和xlsx格式
在Julia中设置PYTHON环境变量,个人建议Python版本3.10,当时我用3.6环境报错,这就是个小坑(帮助文档说得不清楚,搜来查去,摸索一番,误打误撞找到解决办法)。
另外,如果想把最新版xlrd降级以同时支持xls和xlsx格式,在对应的Python环境中,敲入以下命令:
pip uninstall xlrd
pip install xlrd==1.2.0
第2小步:在Julia终端中运行命令:
ENV["PYTHON"]="/home/wangxl/.conda/envs/py310/bin/python3" # 把路径换为你想用的Python环境
然后,运行命令:
using Pkg
Pkg.build("PyCall")
这一步如果不报错,就成功了。
使用示例
using ExcelFiles, DataFrames
df = DataFrame(load("data.xls", "Sheet1")) # 注意:最新版xlrd只支持xls、不支持xlsx