经验分享:使用ExcelFiles包读取Excel文件

ExcelFiles.jlExcelReaders.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
1 个赞