gpt4 book ai didi

c++ - 如何打印出包含关键字的整行 CSV 文件?

转载 作者:行者123 更新时间:2023-12-04 14:46:46 25 4
gpt4 key购买 nike

我正在尝试了解如何从包含特定关键字的 CSV 文件中打印出整行。例如,我试图只从 CSV 文件中抓取包含“Back Bay”的行。这是代码

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream myfile("cabs.csv");

while (myfile.good())
{
string line;
string find = "Back Bay";
getline(myfile, line, ',');
if (strstr(line.c_str(),find.c_str()))
{
cout << line << endl;
}

}
}

这是 CSV 文件的片段:

2.61,Lyft,1543428487883,South Station,Back Bay,27.5,1.0,2cccac4a-57dc-4dbe-b531-bb529335e898,lyft_lux,Lux Black
2.61,Lyft,1543428487883,South Station,Back Bay,7,1.0,38504f2f-300c-4e1b-bff4-4b44c3b4b842,lyft_line,Shared
2.61,Lyft,1543428487883,South Station,Back Bay,10.5,1.0,3ec303ac-a8b2-4fb8-add2-c83b61c627b5,lyft,Lyft
2.07,Lyft,1543428487883,North End,Beacon Hill,16.5,1.0,7b0c4e8d-21fc-4350-9972-f8dace1177ad,lyft_premier,Lux
2.07,Lyft,1543428487883,North End,Beacon Hill,10.5,1.0,9df49a6e-662d-4ac9-b003-34e3f146a209,lyft,Lyft
2.07,Lyft,1543428487883,North End,Beacon Hill,22.5,1.0,b7d55026-7809-4b7a-b275-27648f79cb8a,lyft_lux,Lux Black

到目前为止,我的输出只打印出文本“Back Bay”(无论它出现多少次),但我希望它也返回整行值。 =>

来自这里:

Back Bay
Back Bay
Back Bay

为此:

2.61,Lyft,1543428487883,South Station,Back Bay,32.5,1.0,e1f1d1e3-f66a-4c12-94a6-62f59aff739b,lyft_luxsuv,Lux Black XL
2.61,Lyft,1543428487883,South Station,Back Bay,22.5,1.0,ed7e441e-8318-4c89-9499-8d4737bad7b5,lyft_premier,Lux
3.45,Uber,1543474677639,South Station,Back Bay,,1.0,09ede7b3-2e9b-43b4-8837-a58efb2e4d7a,8cf7e821-f0d3-49c6-8eba-e679c0ebcf6a,Taxi

最佳答案

getline(myfile, line, ',');不会读取整行,而只会读取“,”之间的值,因此您只会打印“Back Bay”。如果“Back Bay”的位置无关紧要,您可以使用:

std::ifstream input("cabs.csv" );

for( std::string line; getline( input, line ); )
{
if (line.find("Back Bay") != std::string::npos) {
std::cout << line << endl;
}
}

关于c++ - 如何打印出包含关键字的整行 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69890579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com