QT读取csv文件的代码示例
时间: 2023-06-19 12:05:21 浏览: 170
使用C#读取csv文件的实例源码
下面是一个简单的示例代码,用于读取CSV文件并将其存储到Qt的QList中:
```cpp
#include <QFile>
#include <QTextStream>
#include <QList>
// 定义结构体,用于存储CSV文件中的数据
struct Data {
QString name;
int age;
QString location;
};
// 读取CSV文件并将数据存储到List中
QList<Data> readCSV(QString filename) {
QList<Data> dataList;
// 打开CSV文件
QFile file(filename);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return dataList;
QTextStream in(&file);
// 逐行读取CSV文件
while (!in.atEnd()) {
QString line = in.readLine();
QStringList fields = line.split(",");
if (fields.length() == 3) {
Data data;
data.name = fields[0];
data.age = fields[1].toInt();
data.location = fields[2];
dataList.append(data);
}
}
// 关闭文件
file.close();
return dataList;
}
```
使用示例:
```cpp
// 读取CSV文件
QList<Data> dataList = readCSV("data.csv");
// 遍历List
foreach (Data data, dataList) {
qDebug() << data.name << data.age << data.location;
}
```
请注意,此代码假设CSV文件中的每一行都包含三个字段:名称、年龄和位置。如果您的CSV文件结构不同,则需要相应地修改代码。
阅读全文