각 행에서 데이터를 읽고 저장해야하는 데이터 파일이 있습니다. 그런 다음 해당 데이터 중 하나의 값에 따라 해당 데이터를 배열에 저장하므로 이러한 모든 데이터의 중앙값을 계산할 수 있습니다.C++에서 파일에서 구조화 된 데이터를 읽는 방법?
데이터 라인은 인구 통계 학적 정보이며 지리적 위치에 따라 사람의 주소입니다. 나는 그들의 나이를 포착하고 예를 들어 특정 거리에 사는 사람들의 중앙값을 찾아야합니다.
데이터 세트는 150,000 레코드이고 각 레코드에는 26 개의 필드가 있습니다. 많은 필드는 주소의 세그먼트이며 다른 필드는 숫자, 나이, 거리 번호 및 이와 비슷한 것입니다.
그래서 내가해야 할 일은 라인을 통해 읽은 다음 레코드의 특정 필드가 특정 조건을 충족하면 레코드의 필드를 캡처하여 배열에 저장하여 중간 값을 계산해야합니다 예를 들어 "Oak Street"에 사는 사람들의
나는 조건부 논리를 가지고 있고 정렬 작업을 할 수 있지만 ifstream 객체를 인스턴스화 한 다음 파일 자체에서 읽는 것과 같은 C++의 iostream 객체에 불편합니다.
오우 데이터가 쉼표로 구분 된 값 파일임을 잊어 버렸습니다. 공백으로 구분 된 입력의
using namespace std;
ifstream file;
string line;
while(getline(file, line)) {
istringstream stream(line);
string data[3];
for(int ii = 0; ii < sizeof data/sizeof data[0]; ++ii)
if(!getline(stream, data[ii], ','))
throw std::runtime_error("invalid data");
// process data here
}
(원본 답) : 쉼표로 구분 된 입력의
그 중 어떤 부분에 문제가 있습니까? –
또한 파일 형식에 대한 자세한 정보를 제공합니다. 예상 출력을 입력하십시오. – RageZ
직접 작업을위한 작은 임시 솔루션을 만들려고했습니다. – ihtkwot