从Excel文件中读取数据

4
我正在尝试读取一个有四列和121行的Excel文件。我尝试了.csv的方法,但我想我理解错了,因为当我编译它时,它变得一团糟。
如何确保城市在第一个单元格,国家在第二个单元格,经度在第三个单元格,纬度在第四个单元格?
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
ifstream inFile;

string city;
string country;
string lat;
string lon; 
inFile.open("worldcities.csv");
if (inFile.is_open()) {
    cout << "File has been opened" << endl;
}
else {
    cout << "NO FILE HAS BEEN OPENED" << endl;
}


while (!inFile.eof()) {
    inFile >> city;
    inFile >> country;
    inFile >> lon;
    inFile >> lat;
    cout << "City: " << city << endl;
    cout << "Country: " << country << endl;
    cout << "Lat: " << lat << endl;
    cout << "Lon: " << lon << endl;
}
inFile.close();
system("pause");
return 0;
} 

1
它被搞得一团糟是什么意思? - Lamour
看看我的答案,如果可以的话请告诉我它是否有效。 - iCezz
@Lamour 它把整个第一行作为城市,一个随机单元格作为国家,并搞乱了其余的内容。我得到了帮助,但还是谢谢你! - PaliiBenet
1个回答

6

试试这个

while (!inFile.eof()) {
    getline ( inFile, city, ',' );
    getline ( inFile, country, ',' );
    getline ( inFile, lat, ',' );
    inFile >> lon;
    cout << "City: " << city << endl;
    cout << "Country: " << country << endl;
    cout << "Lat: " << lat << endl;
    cout << "Lon: " << lon << endl;
}

@PaliiBenet 很高兴它有帮助。 - iCezz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接