mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3320 Observed data import. Line based CSV import
This commit is contained in:
@@ -39,6 +39,9 @@ class AsciiDataParseOptions;
|
||||
//==================================================================================================
|
||||
class RifCsvUserDataParser
|
||||
{
|
||||
public:
|
||||
enum CsvLayout { ColumnBased, LineBased };
|
||||
|
||||
public:
|
||||
RifCsvUserDataParser(QString* errorText = nullptr);
|
||||
virtual ~RifCsvUserDataParser();
|
||||
@@ -46,12 +49,14 @@ public:
|
||||
bool parse(const AsciiDataParseOptions& parseOptions);
|
||||
const TableData& tableData() const;
|
||||
|
||||
const Column* columnInfo(size_t columnIndex) const;
|
||||
const Column* dateTimeColumn() const;
|
||||
const Column* columnInfo(size_t columnIndex) const;
|
||||
const Column* dateTimeColumn() const;
|
||||
|
||||
bool parseColumnInfo(const AsciiDataParseOptions& parseOptions);
|
||||
QString previewText(int lineCount, const AsciiDataParseOptions& parseOptions);
|
||||
|
||||
CsvLayout determineCsvLayout();
|
||||
|
||||
QString tryDetermineCellSeparator();
|
||||
QString tryDetermineDecimalSeparator(const QString& cellSeparator);
|
||||
|
||||
@@ -59,13 +64,16 @@ public:
|
||||
|
||||
protected:
|
||||
virtual QTextStream* openDataStream() = 0;
|
||||
virtual void closeDataStream() = 0;
|
||||
virtual void closeDataStream() = 0;
|
||||
|
||||
private:
|
||||
std::vector<int> parseLineBasedHeader(QStringList headerCols);
|
||||
|
||||
bool parseColumnInfo(QTextStream* dataStream,
|
||||
const AsciiDataParseOptions& parseOptions,
|
||||
std::vector<Column>* columnInfoList);
|
||||
bool parseData(const AsciiDataParseOptions& parseOptions);
|
||||
bool parseColumnBasedData(const AsciiDataParseOptions& parseOptions);
|
||||
bool parseLineBasedData();
|
||||
static QDateTime tryParseDateTime(const std::string& colData, const QString& format);
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user