File size: 1,370 Bytes
c1a7f73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import io
import pickle
import pandas as pd
import json


class LoadScenarioFromCeph:
    def __init__(self):
        from petrel_client.client import Client
        self.file_client = Client('~/petreloss.conf')

    def list(self, dir_path):
        return list(self.file_client.list(dir_path))

    def save(self, data, url):
        self.file_client.put(url, pickle.dumps(data))

    def read_correct_csv(self, scenario_path):
        output = pd.read_csv(io.StringIO(self.file_client.get(scenario_path).decode('utf-8')), engine="python")
        return output

    def contains(self, url):
        return self.file_client.contains(url)

    def read_string(self, csv_url):
        from io import StringIO
        df = pd.read_csv(StringIO(str(self.file_client.get(csv_url), 'utf-8')), sep='\s+', low_memory=False)
        return df

    def read(self, scenario_path):
        with io.BytesIO(self.file_client.get(scenario_path)) as f:
            datas = pickle.load(f)
            return datas

    def read_json(self, path):
        with io.BytesIO(self.file_client.get(path)) as f:
            data = json.load(f)
            return data

    def read_csv(self, scenario_path):
        return pickle.loads(self.file_client.get(scenario_path))

    def read_model(self, model_path):
        with io.BytesIO(self.file_client.get(model_path)) as f:
            pass