从 qrc 资源文件创建熊猫数据帧



我想将CSV文件保存到qrc文件中,然后将其内容放入熊猫数据帧中读取它,但是我遇到了一些问题。

我创建了一个名为res.qrc的 qrc 文件:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>dataset.csv</file>
</qresource>
</RCC>

我编译了它以获得res_rc.py文件。

为了阅读它,我创建了一个名为resource.py的 python 脚本:

import pandas as pd
import res_rc
from PySide.QtCore import *
file = QFile(":/dataset.csv")
df = pd.read_csv(file.fileName())
print(df)

但是我得到错误:IOError: File :/dataset.csv does not exist

所有文件(resource.pyres.qrsres_rc.pydataset.csv(都在同一文件夹中。

如果我这样做res_rc.qt_resource_data我可以看到内容。

如何创建熊猫数据帧?

>qresource是一个虚拟路径,只有Qt知道如何获取它,并且可以在没有警告的情况下在内部更改,在这些情况下,必须做的是读取所有数据并将其转换为流,io.BytesIO

import io
import pandas as pd
from PySide import QtCore
import res_rc

file = QtCore.QFile(":/dataset.csv")
if file.open(QtCore.QIODevice.ReadOnly):
f = io.BytesIO(file.readAll().data())
df = pd.read_csv(f)
print(df)

最新更新