我想将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.py
、res.qrs
、res_rc.py
、dataset.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)