linux下qt如何导入csv文件 将每一行数据存入QStringList中解析
时间: 2024-10-22 22:17:50 浏览: 38
在Linux环境下使用Qt库处理CSV文件并将内容存储到QStringList中,可以按照以下步骤操作:
1. 首先,确保已安装了QFile、QTextStream和QStandardItemModel等Qt组件,用于读取文件、流式处理和模型管理。
2. 使用QFile打开CSV文件:
```cpp
QString filePath = "path_to_your_csv_file.csv";
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "Failed to open file: " << file.errorString();
return;
}
```
3. 创建一个 QTextStream 对象来读取文件:
```cpp
QTextStream in(&file);
```
4. 分析文件内容,逐行读取并存储到 QStringList 中:
```cpp
QStringList dataList;
while (!in.atEnd()) {
QString line = in.readLine(); // 一行数据
QStringList rowData(line.split(',')); // 根据逗号分割每一项
dataList.append(rowData); // 添加到列表中
}
```
5. 关闭文件:
```cpp
file.close();
```
6. 如果需要对数据做进一步处理,可以在`rowData`上进行操作,例如转换为QStandardItemModel格式:
```cpp
QStandardItemModel model(dataList.size(), rowData.first().count());
for (int i = 0; i < dataList.size(); ++i) {
for (int j = 0; j < dataList[i].size(); ++j) {
QStandardItem* item = new QStandardItem(QString::fromStdString(dataList[i][j]));
model.setItem(i, j, item);
}
}
```
阅读全文