【发布时间】:2021-10-28 16:06:39
【问题描述】:
我有一段时间没有编程了,我正在尝试开发一个项目,该项目将从 csv 文件中读取推文,然后操作存储的内容。目前,我正在尝试从文件中提取数据并打印到控制台。我知道我的文件正在打开,因为我包含了一个条件语句,但是,在读取数据而不是获取任何实际信息时,我只是得到空行。我还认为这可能是因为我正在使用的 csv 文件非常大(20k 数据条目),所以我添加了一个 for 循环来尝试隔离问题。
我正在使用 getline 和 stringstream 来获取数据,并使用 cout 打印到控制台。我似乎无法找到问题所在。
这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string line;
ifstream fin;
fin.open("train_dataset_20k.csv");
if (!fin.is_open()){
cout << "Error opening file" << endl;
return 1;
}
while(fin.is_open()){
for (int i = 0; i <10; i ++){
string Sentiment,id,Date,Query,User,Tweet;
stringstream lineSS(line);
getline(lineSS, Sentiment, ',');
getline(lineSS, id, ',');
getline(lineSS, Date, ',');
getline(lineSS, Query, ',');
getline(lineSS, User, ',');
getline(lineSS, Tweet, '\n');
cout << Sentiment << endl;
cout << id << endl;
cout << Tweet << endl;
}
fin.close();
}
return 0;
}
目前,它会运行10次for循环,但只会输出空行,其中没有任何信息。
【问题讨论】:
-
您没有从文件流中读取任何数据......?你为什么用线?