Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raviprakashgiri/299d82f2b4309cda706838d2050cc95a to your computer and use it in GitHub Desktop.
Save raviprakashgiri/299d82f2b4309cda706838d2050cc95a to your computer and use it in GitHub Desktop.
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
//char input[960];
int main(int argc, char const *argv[])
{
ifstream if1;
ofstream of1;
//char chars[] = "[],";
//int sizeOfArray = sizeof(chars) / sizeof(chars[0]);;
if1.open("super_cleaned.csv");
of1.open("output_cleaned_data.csv");
string str1, line;
vector<int> csvRow;
int prev_loc = 1908;
/*while (getline(if1, str1))
{
str1.erase(0,13);
for (unsigned int i = 0; i < sizeOfArray; ++i)
{
str1.erase (remove(str1.begin(), str1.end(), chars[i]), str1.end());
}
of1<<str1<<endl;
}*/
csvRow.resize(42);
for (int i = 0; i < 42; i++)
{
csvRow[i] = 0;
}
/*for (int i = 0; i < 42; ++i)
{
cout<<csvRow[i]<<":";
}
cout<<endl;*/
while(getline(if1,line))
{
stringstream linestream(line);
string value;
int counter = 0;
int loc;
while(getline(linestream,value,','))
{
// cout<<"counter"<<counter<<endl;
if (counter == 0)
{
stringstream convert(value);
convert>>loc;
if (loc == prev_loc)
{
/* code */
}
else
{
if (prev_loc > 1908)
{
for (int i = 0; i < 42; ++i)
{
if (i == 41)
{
of1<<csvRow[i];
}
else{of1<<csvRow[i]<<",";}
}
of1<<endl;
}
//csvRow.resize(42);
for (int i = 0; i < 42; ++i)
{
csvRow[i] = 0;
}
csvRow[0] = loc;
}
//cout << loc << ",";
}
else if (counter == 1)
{
if (value == "ACT"){csvRow[1] += 1;}
else if (value == "AMG"){csvRow[2] += 1;}
else if (value == "CTL"){csvRow[3] += 1;}
else if (value == "CLD"){csvRow[4] += 1;}
else if (value == "DIS"){csvRow[5] += 1;}
else if (value == "DOR"){csvRow[6] += 1;}
else if (value == "LIQ"){csvRow[7] += 1;}
else if (value == "SOF"){csvRow[8] += 1;}
else if (value == "UNL"){csvRow[9] += 1;}
else if (value == "UPS"){csvRow[10] += 1;}
else if (value == ""){}
else{cout<<"Counter 1 fault!!!"<<value<<endl;}
}
else if (counter == 2)
{
if (value == "OPC"){csvRow[11] += 1;}
else if (value == "PRV"){csvRow[12] += 1;}
else if (value == "PUB"){csvRow[13] += 1;}
else if (value == ""){}
else{cout<<"Counter 2 fault!!!"<<value<<endl;}
}
else if (counter == 3)
{
if (value == "CLG"){csvRow[14] += 1;}
else if (value == "CLS"){csvRow[15] += 1;}
else if (value == "UCM"){csvRow[16] += 1;}
else if (value == ""){}
else{cout<<"Counter 3 fault!!!"<<value<<endl;}
}
else if (counter == 4)
{
if (value == "AAA"){csvRow[17] += 1;}
else if (value == "BUS"){csvRow[18] += 1;}
else if (value == "CPS"){csvRow[19] += 1;}
else if (value == "CON"){csvRow[20] += 1;}
else if (value == "EGW"){csvRow[21] += 1;}
else if (value == "FIN"){csvRow[22] += 1;}
else if (value == "INS"){csvRow[23] += 1;}
else if (value == "MFS"){csvRow[24] += 1;}
else if (value == "MLP"){csvRow[25] += 1;}
else if (value == "MME"){csvRow[26] += 1;}
else if (value == "MMC"){csvRow[27] += 1;}
else if (value == "MOS"){csvRow[28] += 1;}
else if (value == "MPP"){csvRow[29] += 1;}
else if (value == "MTT"){csvRow[30] += 1;}
else if (value == "MWP"){csvRow[31] += 1;}
else if (value == "MQY"){csvRow[32] += 1;}
else if (value == "RER"){csvRow[33] += 1;}
else if (value == "TRD"){csvRow[34] += 1;}
else if (value == "TSC"){csvRow[35] += 1;}
else if (value == ""){}
else{cout<<"Counter 4 fault!!!"<<value<<endl;}
}
else if (counter == 5)
{
//cout<<"Value"<<value<<endl;
if (value[0] == 'C'){csvRow[36] += 1;} // I had to use the 1st character, I don't know why?
else if (value[0] == 'G'){csvRow[37] += 1;}
else if (value[0] == 'I'){csvRow[38] += 1;}
else if (value[0] == 'O'){csvRow[39] += 1;}
else if (value[0] == 'S'){csvRow[40] += 1;}
else if (value[0] == 'U'){csvRow[41] += 1;}
else if (value == " "){}
else{cout<<"Counter 5 fault!!!"<<value<<endl;}
}
else{cout << "This is the End of the World!!!";}
counter++;
}
//std::cout << "Line Finished" << std::endl;
prev_loc = loc;
}
for (int i = 0; i < 42; ++i)
{
if (i == 41)
{
of1<<csvRow[i];
}
else{of1<<csvRow[i]<<",";}
}
cout<<endl;
// cout<<"here"<<endl;
if1.close();
of1.close();
return 0;
}
@raviprakashgiri
Copy link
Author

Made for the DNA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment