| 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() |