-
环境介绍
系统:Win10 64位
Qt版本:Qt5.12.7
编译器:Qt5.12.7 MinGW
-
说明
打开*.csv文件并将每列数据各自存入数组
*.csv文件内容
-
实现步骤
1.Qt Creator 设计窗口拖拽一个Push Button控件
2.Push Button控件添加槽函数
3.实现代码
mainwindow.h
private:
QVector<double> x;//存储csv文件第1列数据
QVector<double> y;//存储csv文件第2列数据
mainwindow.cpp
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>
#include <QDebug>
Push Button控件槽函数
void MainWindow::on_pushButton_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this,
tr("Excel file"),
"./",
tr("Files (*.csv)"));
if(!fileName.isEmpty())
{
x.clear(); //x的值
y.clear(); //y的值
QFile file(fileName); // 新建QFile对象
if (!file.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::warning(this, tr("打开csv文件"),
tr("无法读取文件 %1:\n%2.")
.arg(fileName).arg(file.errorString()));
return ;
}
QTextStream in(&file); // 新建文本流对象
QStringList list;//用于存储逐行数据
//逐行读取*.csv数据并将每列分别存入x、y数组中
while(!in.atEnd())
{
QString fileLine=in.readLine();//逐行读取数据
list=fileLine.split(",");//一行中的单元格以,区分
qDebug()<<"list="<<list;
double A = (list.at(0)).toDouble();//获取该行第1个单元格内容
x.append(A);
double B = (list.at(1)).toDouble();//获取该行第2个单元格内容
y.append(B);
}
qDebug()<<"x="<<x;
qDebug()<<"y="<<y;
file.close();
}
}
4.输出结果
源码下载地址
https://download.csdn.net/download/mokemg/12337418
参考资料
1.https://blog.csdn.net/mikasoi/article/details/94591794