File size: 1,044 Bytes
24371db
 
d598f65
 
 
 
 
 
 
24371db
fb65c41
d598f65
 
24371db
 
 
 
 
 
 
d598f65
 
 
 
24371db
fb65c41
24371db
 
 
 
 
 
 
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
import pandas as pd
import sqlite3
import csv

def get_delimiter(file_path, bytes = 4096):
    sniffer = csv.Sniffer()
    data = open(file_path, "r").read(bytes)
    delimiter = sniffer.sniff(data).delimiter
    return delimiter

def process_data_upload(data_file, session_hash):
    delimiter = get_delimiter(data_file)
    df = pd.read_csv(data_file, sep=delimiter)

    # Read each sheet and store data in a DataFrame
    #data = df.parse(sheet_name)
    # Process the data as needed
    # ...
    df.columns = df.columns.str.replace(' ', '_')
    df.columns = df.columns.str.replace('/', '_')

    for column in df.columns:
        if "date" in column.lower() or "time" in column.lower():
            df[column] = pd.to_datetime(df[column])
    
    connection = sqlite3.connect(f'data_source_{session_hash}.db')
    print("Opened database successfully");
    print(df.columns)

    df.to_sql('data_source', connection, if_exists='replace', index = False)
    
    connection.commit()
    connection.close()