Projekt

Obecné

Profil

Stáhnout (1.57 KB) Statistiky
| Větev: | Revize:
1 527abccd petrh
from Utilities.Database import DatabaseDataLine
2
import pymongo
3
4
5
def get_data_from_file(filename, devices):
6
    f = open(filename, "r")
7
8
    date_dict = dict()
9
10
    for line in f:
11
        # remove \n
12
        line = line[:-1]
13
        # split by csv splitter ;
14
15
        csv_collum = line.split(";")
16
17
        name = csv_collum[0]
18
        occurence = csv_collum[1]
19
        date = csv_collum[2]
20
21
        date_without_hours = date[:-2]
22
23
        database_data_line = DatabaseDataLine.DatabaseDataLine(name, devices[name]["x"]
24
                                                               , devices[name]["y"], date, occurence)
25
26
        if date_without_hours not in date_dict:
27
            date_dict[date_without_hours] = list()
28
29
        date_dict[date_without_hours].append(database_data_line.to_dictionary())
30
31
    return date_dict
32
33
34
def load_data_to_database(dataset_name, data_dic):
35
    myclient = pymongo.MongoClient("mongodb://localhost:27017/");
36
37
    # Authenticating
38
    myclient.admin.authenticate('root', 'root');
39
40
    # Database DATA
41
    mydb = myclient["DATA"]
42
43
    # Collection Datasets
44
    collection_datasets = mydb["DATASETS"]
45
46
    dataset_present = collection_datasets.find_one({}, {'name': dataset_name})
47
48
    if dataset_present is None:
49
        collection_datasets.insert_one({'name': dataset_name})
50
51
    for date in data_dic:
52
        dataset_collections = mydb[dataset_name]
53
        dataset_collections.insert_one({'name': dataset_name+date})
54
        date_dataset = mydb[dataset_name + date]
55
        date_dataset.insert_many(data_dic[date])