Esempio n. 1
0
    def test_column_info(self):
        s = r"#COLUMNINFO= 1, m, Sondeerlengte, 1"
        v = utils.parse_column_info(s, 1, MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT)
        self.assertEqual(v, "penetration_length")

        h = {"COLUMNINFO": [["1", "m", "Sondeerlengte", "1"]]}
        v = utils.parse_column_info(h, 1, MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT)
        self.assertEqual(v, "penetration_length")
Esempio n. 2
0
 def parse_data_column_info(header_s,
                            data_s,
                            sep,
                            columns_number,
                            columns_info=None):
     if columns_info is None:
         col = list(
             map(
                 lambda x: utils.parse_column_info(
                     header_s, x, MAP_QUANTITY_NUMBER_COLUMN_NAME_BORE),
                 range(1, columns_number + 1),
             ))
         return pd.read_csv(io.StringIO(data_s),
                            sep=sep,
                            names=col,
                            index_col=False,
                            usecols=col)
     else:
         return pd.read_csv(
             io.StringIO(data_s),
             sep=sep,
             names=columns_info,
             index_col=False,
             usecols=columns_info,
         )
Esempio n. 3
0
 def parse_data_column_info(headers,
                            data_s,
                            sep,
                            columns_number,
                            columns_info=None):
     if columns_info is None:
         col = list(
             map(
                 lambda x: utils.parse_column_info(
                     headers, x, MAP_QUANTITY_NUMBER_COLUMN_NAME_BORE),
                 range(1, columns_number + 1),
             ))
         return pl.read_csv(
             io.StringIO(data_s),
             sep=sep,
             new_columns=col,
             has_headers=False,
             projection=list(range(0, len(col))),
         )
     else:
         return pl.read_csv(
             io.StringIO(data_s),
             sep=sep,
             new_columns=columns_info,
             has_headers=False,
         )
Esempio n. 4
0
def determine_column_names(headers, columns_number=None, columns_info=None):
    if columns_number is None and columns_info is None:
        columns_number = utils.parse_columns_number(headers)
        if columns_number is not None:
            columns_info = []
            for column_number in range(1, columns_number + 1):
                columns_info.append(
                    utils.parse_column_info(
                        headers, column_number,
                        MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT))

    return columns_info
Esempio n. 5
0
 def parse_data(header_s, data_s, columns_number=None, columns_info=None):
     df = {}
     if columns_number is None and columns_info is None:
         columns_number = utils.parse_columns_number(header_s)
         if columns_number is not None:
             columns_info = []
             for column_number in range(1, columns_number + 1):
                 column_info = utils.parse_column_info(
                     header_s, column_number,
                     MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT)
                 columns_info.append(column_info)
             df = pd.read_csv(io.StringIO(data_s.replace('!', '')),
                              sep=r';|\s+|,|\|\s*',
                              names=columns_info,
                              index_col=False,
                              engine='python')
     return df
Esempio n. 6
0
 def parse_data_column_info(header_s,
                            data_s,
                            sep,
                            columns_number,
                            columns_info=None):
     if columns_info is None:
         columns_info = []
         for column_number in range(1, columns_number + 1):
             column_info = utils.parse_column_info(
                 header_s, column_number,
                 MAP_QUANTITY_NUMBER_COLUMN_NAME_BORE)
             columns_info.append(column_info)
     df_column_info = pd.read_csv(io.StringIO(data_s),
                                  sep=sep,
                                  names=columns_info,
                                  index_col=False,
                                  usecols=columns_info)
     return df_column_info
Esempio n. 7
0
 def parse_data(header_s, data_s, columns_number=None, columns_info=None):
     if columns_number is None and columns_info is None:
         columns_number = utils.parse_columns_number(header_s)
         if columns_number is not None:
             columns_info = []
             for column_number in range(1, columns_number + 1):
                 column_info = utils.parse_column_info(
                     header_s, column_number, MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT
                 )
                 columns_info.append(column_info)
     new_data = data_s.replace("!", "")
     separator = utils.find_separator(header_s)
     return pd.read_csv(
         io.StringIO(new_data),
         sep=separator,
         names=columns_info,
         index_col=False,
         engine="python",
     )
Esempio n. 8
0
 def test_column_info(self):
     s = r'#COLUMNINFO= 1, m, Sondeerlengte, 1'
     v = utils.parse_column_info(s, 1, MAP_QUANTITY_NUMBER_COLUMN_NAME_CPT)
     self.assertEqual(v, "penetration_length")