qt5.7批量读取某路径下的10个csv文件
时间: 2024-10-19 19:10:08 浏览: 47
在Qt 5.7中,你可以使用`QDir`类遍历目录,并结合`QTextStream`或`QCsvReader`从CSV文件中读取数据。这里是批量读取某个路径下10个CSV文件的一个示例:
首先,确保已包含所需的头文件:
```cpp
#include <QDir>
#include <QTextStream>
#include <QDebug>
#include <QFile>
#include <QCsv>
```
然后,你可以编写一个函数来逐个读取CSV文件:
```cpp
void batchReadCSVFiles(const QString& directoryPath) {
QDir dir(directoryPath);
QStringList filePaths = dir.entryList(QDir::Files | QDir::Readable | QDir::NameFilters("*.csv"), QDir::SystemIndex);
if (!filePaths.isEmpty()) {
int index = 0;
foreach (const QString &filePath, filePaths) {
if (index >= 10) {
break; // 如果你想限制最多读取10个文件,就在这里停止
}
QFile csvFile(filePath);
if (csvFile.open(QIODevice::ReadOnly)) {
QCsvReader reader(&csvFile);
while (!reader.atEnd()) {
QVariantMap row = reader.record();
qDebug() << "Row " << index++ << ": " << row;
}
csvFile.close();
} else {
qDebug() << "Could not open file: " << filePath;
}
}
} else {
qDebug() << "No CSV files found in the directory.";
}
}
```
这个函数会在给定目录中查找所有的`.csv`文件,对前10个文件依次读取并打印内容。如果超过10个文件,它将不再继续。
阅读全文