コード例 #1
0
    def test_use_case_csv_json(self):
        """Simple use case using core tools for reading,
        computing and writing"""
        raised = False

        try:
            data = dr.DataReader(data=data_paths['csv'], f_format='csv').read()
            table = st.StashTable(data=data, table='data')
            table.save()

            subset = table.get(key='gender',
                               value='Female',
                               operator='==',
                               reindex=True)

            dw.write_json(data=subset,
                          file='subset.json',
                          allow_nan=False,
                          sort_keys=False)
            dw.write_json(data=subset,
                          file='subset.json',
                          allow_nan=True,
                          sort_keys=True)

            table.un_stash()

            os.remove('subset.json')
        except:
            raised = True

        self.assertIs(raised, False)
コード例 #2
0
 def test_write_json_indent(self):
     """Write to json with indent"""
     data = dr.DataReader(f_format='csv',
                          data=cwd + '/test/data/basic_csv.csv') \
         .read(delim=',')
     dw.write_json(data=data, file='tmp.json', allow_nan=True, indent=4)
     self.assertIs(os.path.isfile('tmp.json'), True)
     os.remove('tmp.json')
コード例 #3
0
 def test_write_yaml(self):
     """Write to yaml"""
     data = dr.DataReader(f_format='csv',
                          data=cwd + '/test/data/basic_csv.csv') \
         .read(delim=',')
     dw.write_yaml(data=data, file='tmp.yaml')
     self.assertIs(os.path.isfile('tmp.yaml'), True)
     os.remove('tmp.yaml')
コード例 #4
0
 def test_write_json_not_allow_nan(self):
     """Write to json not allowing nan"""
     data = dr.DataReader(f_format='csv',
                          data=cwd + '/test/data/basic_csv.csv') \
         .read(delim=',')
     dw.write_json(data=data, file='tmp.json', allow_nan=False)
     self.assertIs(os.path.isfile('tmp.json'), True)
     os.remove('tmp.json')
コード例 #5
0
 def test_write_csv_delim_2(self):
     """Write to csv with delim ;"""
     data = dr.DataReader(f_format='csv',
                          data=cwd + '/test/data/basic_csv.csv') \
         .read(delim=',')
     dw.write_csv(data=data, file='tmp.csv', delimiter=';')
     self.assertIs(os.path.isfile('tmp.csv'), True)
     os.remove('tmp.csv')
コード例 #6
0
def analyse_stash():
    """example of using analysis on stashed table"""

    data = dr.DataReader(data='test/data/json_array.json.gz').read()

    table = StashTable(data=data, table='basic')
    table.save()

    table_ana = Analyse(
        table='basic')  # stashed table name needs to be specified

    # print(table_ana.max(col='id'))
    # print(table_ana.min(col='id'))
    # print(table_ana.mean(col='id'))
    # print(table_ana.mode(col='id'))
    # print(table_ana.median(col='id'))

    table.un_stash()
コード例 #7
0
def standard_stash():
    """example of a normal data read, stash and write"""

    data = dr.DataReader(data='test/data/json_array.json.gz',
                         f_format='json.gz').read()
    dw.write_csv(data=data, file='main.csv')

    table = StashTable(data=data, table='basic')
    table.save()

    col_names = table.col_names()
    first_row = table.row(index=0)
    first_col = table.col(key='id')

    subset = table.get(key='gender',
                       value='Female',
                       operator='==',
                       reindex=True)
    dw.write_csv(data=subset, file='subset.csv')

    table.un_stash()
コード例 #8
0
    def test_use_case_yaml_csv(self):
        """Simple use case using core tools for reading,
        computing and writing"""
        raised = False

        try:
            data = dr.DataReader(data=data_paths['yaml'],
                                 f_format='yaml').read()
            table = st.StashTable(data=data, table='data')
            table.save()

            subset = table.get(key='gender',
                               value='Female',
                               operator='==',
                               reindex=True)

            dw.write_csv(data=subset, file='subset.csv', header=True)
            dw.write_csv(data=subset,
                         file='subset.csv',
                         header=True,
                         quoting='all')
            dw.write_csv(data=subset,
                         file='subset.csv',
                         header=True,
                         quoting='minimal')
            dw.write_csv(data=subset,
                         file='subset.csv',
                         header=True,
                         quoting='nonumeric')

            table.un_stash()

            os.remove('subset.csv')
        except:
            raised = True

        self.assertIs(raised, False)
コード例 #9
0
 def get_data():
     """Get mock data for stash"""
     _dir = cwd + '/test/data/basic_csv.csv'
     return dr.DataReader(f_format='csv', data=_dir).read(delim=',')
コード例 #10
0
def read_write():
    """normal read and write"""
    data = dr.DataReader(data='test/data/basic_csv.csv.gz').read()
    dw.write_csv(data=data, file='test.csv', threads=10)