从入学之初就跟着师兄一起做一个 PyQt5 的项目,学到了很多东西。自从上次项目打包遇到资源文件处理难题之后,就开始慢慢在项目中引入 Qt 提供的 qrc 资源文件方案。
最近在系统地学 PySide2(Qt for python 的官方绑定),在其官方教程中有一个 Data Visualization Tool Tutorial 的数据可视化教程。在该教程中,用到了 pandas 库来读取一个本地 CSV 文件。教程本身提供的是相对路径读取文件方法,但本人想使用 qrc 资源文件的方式来引入该 CSV 文件,以培养习惯。不曾想,遇到了 pandas 无法读取 CSV 文件的错误,在解决过程中对 qrc 资源文件的运作方式有了更深的理解。
问题重现
首先我的项目目录结构为
D:.
└─DataVisualization
│ main.py
│
├─layouts
│ main.ui
│
└─resources
│ all_day.csv
│ data.qrc
│ data_rc.py
data.qrc 代码为
all_day.csv
在 main.py 中,按照正常的相对路径写法,能够正确打印 CSV 文件内容,而使用 qrc 资源文件方法则不可行,具体代码为
import pandas as pd
from PySide2.QtCore import QFile, QIODevice
import DataVisualization.resources.data_rc