51 CSVReader::CSVReader() : _header(false), _skip(0),
52 _delimiter(
','), _keepParts(true), _lines(),
53 _ignoreComments(true) { }
82 const char &delimiter,
const bool keepEmptyParts,
83 const bool ignoreComments) :
84 _header(header), _skip(skip), _delimiter(delimiter),
85 _keepParts(keepEmptyParts), _lines(),
86 _ignoreComments(ignoreComments) {
135 return ((summary.
size() > 0) ? summary.
key(0) : 0);
157 ifstream ifile(csvfile.toAscii().data(), ios::in);
159 QString mess =
"Unable to open file " + csvfile;
206 if((index < 0) || (index >=
rows())) {
244 for(
int i = 0 ; i < nrows ; i++) {
246 if(parser.
size() <= index) {
251 column[i] = parser(index);
256 return ((nbad == nrows) ?
CSVAxis(0) : column);
282 QString head = hname.trimmed();
283 for(
int i = 0 ; i < header.dim() ; i++) {
284 if(head.toLower() == header[i].trimmed().toLower()) {
322 for(
int row = 0 ; row < nrows ; row++) {
324 table[row] = parser.
result();
363 for(
int row = 0 ; row < table.dim() ; row++) {
364 int n(table[row].dim());
366 int &count = summary.
get(n);
390 return (summary.
size() <= 1);
422 while(getline(ifile, iline)) {
425 _lines.push_back(iline.c_str());
433 mess <<
"Error reading line " << (nlines + 1) << ends;
464 return (csv.
load(is));